天天看點

python return傳回值類型_python基礎之return,參數

函數的傳回值

1.什麼是傳回值:

傳回值是一個函數的處理結果

2.為什麼要有傳回值

如果需要在程式中拿到函數的處理結果,做進一步的處理,則需要函數必須有傳回值

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)作為參數時,可以原封不動的把外部調用時的參數原封不動地傳給内部參數