淺談python的函數知識
函數參數的兩大分類
形式參數 函數定義階段括號所寫的參數 實際參數 函數調用階段括號內傳入的參數
形參與實參的關系 可以將形參看成是變量名,實參看成是變量值 函數調用階段臨時綁定,函數運行結束斷開 形參的表現形式 變量名 實參的表現形式多種 (把握核心 數據值)
位置參數
位置參數 從左往右依次填入的參數 位置形參 函數定義階段從左往右依次填入的變量名 位置實參 函數調用階段從左往右依次填入的數據值
關鍵字實參(可以打破位置順序) 函數調用階段通過形參名=數據值的形式 傳值 1.位置形參與位置實參在函數調用階段,按照位置對應綁定 2.位置參數綁定的時候多一個不行少一個也不行 重點: 格式越簡單越靠前,越復雜越靠後
可變長參數
1.函數無論傳入多少位置參數都可以正常運行 可變長形參 def func(x,y,*a): print(x,y,a) func() # () func(1) # (1,) func(1, 2, 3, 4, 5, 6, 7) # (1, 2, 3, 4, 5, 6, 7) func(1,2) # 1 2 () func(1,2,3,4,5,6,7,8,9) # 1 2 (3, 4, 5, 6, 7, 8, 9) func(1,2) # 1 2 (3, 4, 5, 6, 7, 8, 9) *在形參中用於接收多餘的位置參數 並組織成元組的行賦值給*後面的變量名
2.函數無論傳入多少關鍵字都可以正常運行 def index(x, y, **b): print(x, y, b) index() # {} index(a=1,b=2,c=3,d=4) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} index(y=2, x=1) # 1 2 {} index(y=2, x=1, u=222, k=111, l=444) # 1 2 {'u': 222, 'k': 111, 'l': 444} **在形參中用於接收多餘的關鍵字參數 並組織成字典的形式賦值給**後面的變量名 *使用 會將列表、元組內的數據打散 **使用 會將字典的鍵值對打散成關鍵字參數傳入
名稱空間
1.內置名稱空間 print() len() 2.全局名稱空間 py文件中頂格編寫的代碼 name = 'jason' # name全局 def func(): # func全局 pass if 1: a = 123 # a全局 for i in range(10): print(i) # i全局 while True: a = 123 # a全局 3.局部名稱空間 函數體代碼運行之後產生的都是局部名稱空間
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- Python函數命名空間和作用域(Local與Global)
- Python中的變量、運算符與流程控制
- 7個Python中的隱藏小技巧分享
- Python中的復雜數據類型(list、tuple)
- python入門學習筆記分享