1. 程式人生 > >名稱空間和函式的巢狀

名稱空間和函式的巢狀

2. 名稱空間:

區域性名稱空間
全域性名稱空間
內建名稱空間


載入順序:

內建 > 全域性 > 區域性

取值順序:

區域性 > 全域性 > 內建

作用域:

全域性作用域:

內建 + 全域性

區域性作用域:

函式區域性


# print(globals()) # 檢視全域性作用域中的變數和函式名
# print(locals()) # 檢視區域性作用域中的變數和函式名


3. 函式的巢狀:

def f():
print(11)
def f1():
print(22)
def f2():
print(33) **********重要
f2()

f1()
f()


4. 函式的註釋:

def func():
# '''
# 這是列印的函式
# :param a: 沒啥用1
# :param b: 沒啥用1
# :param c: 沒啥用1
# :param d: 沒啥用1
# :return: 返回的None
# '''
# print(a,b,c,d)

5. global|

# print(id(lst))
# def func():
# # a = 15 # 在函式的區域性中
# # global se #
# lst[0] = 11
# # print(a) # 使用的是區域性
# func()
# print(lst)
# print(id(lst))

# 可變資料型別在函式中可以直接操作,不可變資料型別才需要使用global


# a = 10
# def f():
# a = 1 # a = 2
# def f1():
# # a = 4 # a = 2
# def f2():
# # nonlocal a
# # a = 2
# print(a) # 2
# f2()
# print(a) # 2
# f1()
# print(a) # 2
# f()

# nonlocal 改變最近的父級變數, 如果上級沒有能夠改變的就繼續向上走,直到最外層函式就停止了.


##### 函式: 將一個需求封裝後呼叫,優點:除去重複程式碼.