函數的返回值python
1.什麼是返回值:app
返回值是一個函數的處理結果函數
2.爲何要有返回值blog
若是須要在程序中拿到函數的處理結果,作進一步的處理,則須要函數必須有返回值class
3.函數返回值的應用:變量
函數的返回值用return定義循環
格式: return x數據類型
注意:1.return是一個函數結束的標誌,可有多個return,但只要執行一次,函數就會結束運行程序
2.return的返回值五類型限制,可任意數據類型總結
3.返回值無個數限制,可用逗號分開多個任意類型的返回值
0個:返回None 1個:返回值就是值自己
多個:返回值爲元組
4.不寫return,默認會在最後return None
調用函數
1.什麼是調用函數
函數名() 即調用,會執行函數體代碼
2.爲什麼要調用?
執行函數的功能
3.函數調用的三種形式
def count(x):
return x
1.普通:count(x)
2.放在運算中:count(x) * 10
3.做爲參數調用:count(count(x))
函數參數的應用:
形參:在函數定義階段括號內定義的參數,稱爲形參,本質是變量名
實參:在函數調用階段括號內傳入的值,稱爲實參,本質是變量的值
詳細分類:
1.位置形參:在函數定義階段,按從左到右的順序依次定義的參數
特色:必須被傳值,不可多,不可少
位置實參:在函數調用階段,按從左到右的順序依次定義的參數
特色:按照位置爲對應的形參依次傳值
2.關鍵字實參:按key:value傳值,稱關鍵字實參
特色:能夠打破位置的限制,但仍能爲指定的形參賦值
注意:1.能夠混用位置參數與關鍵字實參,但位置實參必須在前面
2.能夠混用,但不能對一個形參重複賦值
3.默認參數:在函數定義階段,就已經爲形參賦值
特色:在定義階段已被賦值,意味着在調用時能夠不爲其賦值
def foo(x, y = 10): y=10就是默認參數
pass
注意:1.位置形參必須放在默認參數前面
2.默認參數的值只在定義階段賦值一次,即定義時就固定寫死了
3.默認參數的值一般應該定義不可變類型
總結:實參的應用:可取決於我的的習慣
形參的應用:大多數狀況下調用值都同樣:默認參數
大多數狀況下調用值不同:位置參數
4.可變長參數:指的是在函數調用時:傳入的參數個數能夠不固定,而調用函數時,傳值的方式無非兩種,一種是位置實參,另外一種是關鍵實參,因此對應着形參也必須有兩種解決方案來分別接收溢出的位置實參(*)與關鍵字實參(**)
位置參數(*)
①.形參中*接收溢出的位置實數,而後存成元組的形式,賦值給*後的變量
②.實參中的參數也能夠帶*:
實參中帶*,*會將該參數的值循環取出,打散成位置參數,但凡帶*實參,它就是位置實參,應該打散成位置實參看
約定俗成:形參中的*變量名的寫法都是*args
關鍵字參數(**)
①.形參中的**會將溢出的關鍵字實參所有接收,而後存成字典的形式,賦值給**後的變量名
②.實參中帶**,**會將該參數的值循環取出,打散成關鍵字實數,但凡帶**的實參, 它就是關鍵字實參,應該打散成位關鍵字參看。**後必須是字典
約定俗成:形參中的*變量名的寫法都是**kwargs
應用: def info(name,age,sex) print(name) print(age) print(sex) def wrapper(*args,**kwargs): info(*args,**kwargs) wrapper(‘egon’,18,’male,) 這樣使用(*args,**kwargs)做爲參數時,能夠原封不動的把外部調用時的參數原封不動地 傳給內部參數