名稱空間和函式的巢狀
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 改變最近的父級變數, 如果上級沒有能夠改變的就繼續向上走,直到最外層函式就停止了.
##### 函式: 將一個需求封裝後呼叫,優點:除去重複程式碼.