學海無涯苦作舟之python
阿新 • • 發佈:2018-11-01
動態位置引數以及動態關鍵字引數:
位置 關鍵字 動態位置 動態關鍵字
def func(a,*args,b,**kwargs): print(a,b,args,kwargs) func(1,2,3,4,bb=1,cc=3,)
函式:
動態: 動態位置引數 *args 動態關鍵字引數 **kwargs 位置 > 動態位置引數 > 預設(關鍵字)引數 > 動態關鍵字引數
函式的巢狀:
def f(): # a = 10 # print(a) # def f1(): # b = 20 # print(b) # f1() # f()
區域性空間:
def func(): # 函式裡的是區域性空間 # b = 5 # print(b) #print() #內建的就是python本身自帶的東西 # input() #內建python本身自帶的東西 print(locals()) # 檢視區域性作用域中的變數和內容print(globals()) # 檢視全域性作用域中的變數和內容
名稱空間:
2. 名稱空間: 區域性名稱空間 全域性名稱空間 內建名稱空間 載入順序: 內建 > 全域性 > 區域性 取值順序: 區域性 > 全域性 > 內建 作用域: 全域性作用域: 內建 + 全域性 區域性作用域: 函式區域性
global與nonlocal:
global: 可變資料型別在函式中可以直接操作,不可變資料型別才需要使用global nonlocal: nonlocal 改變最近的父級變數, 如果上級沒有能夠改變的就繼續向上走,直到最外層函式就停止了. 函式: 將一個需求封裝後呼叫,優點:除去重複程式碼.