普通函式:(只含有位置引數)
def person(name, age):
print(name, age)
person('jack', 20)
#輸出: jack 20
person(age=20, name='jack')
#輸出: jack 20
引數必須是2個,且必須按照順序。如果以表示式形式傳入,可以不按順序。
***********************************===分割線***********************************===
含有預設引數的函式:
def person(name, age=20):
print(name, age)
person('jack')
#輸出: jack 20
person('jack', 30)
#輸出: jack 30
person(age=30, name='jack')
#輸出: jack 30
***********************************===分割線***********************************===
含有可變引數的函式:(可變引數將被打包成tuple形式)
def person(name, age=20, *other):
print(name, age, other)
person('jack')
#輸出: jack 20 ()
person('jack', 30)
#輸出: jack 30 ()
person('jack', 'what')
#輸出: jack what ()
person('jack', 30, 'what','up')
#輸出: jack 30 ('what', 'up')
person('jack', age=30, 'what','up')
#輸出: syntaxerror: positional argument follows keyword argument
person(name='jack', 30, 'what','up')
#輸出: syntaxerror: positional argument follows keyword argument
person(name='jack', age=30, 'what','up')
#輸出: syntaxerror: positional argument follows keyword argument
***********************************===分割線***********************************===
含有可變鍵值對引數的函式:(可變引數將被打包成dict形式)
def person(name, age=20, **other):
print(name, age, other)
person('jack')
#輸出: jack 20 {}
person('jack', 30)
#輸出: jack 30 {}
person('jack', 'what')
#輸出: jack what {}
person('jack', 30, gender='male', married='no')
#輸出: jack 30
person('jack', age=30, gender='male', married='no')
#輸出: jack 30
person(name='jack', 30, gender='male', married='no')
#輸出: syntaxerror: positional argument follows keyword argument
person(name='jack',age=30, gender='male', married='no')
#輸出: jack 30
person(age=30, name='jack', gender='male', married='no')
#輸出: jack 30
***********************************===分割線***********************************===
含有命名關鍵字的函式:(函式只接收且必須接收星號後面的命名關鍵字,起到保護過濾作用)
def person(name, age=20, *, qq):
print(name, age, qq)
person('jack')
#輸出 typeerror: person() missing 1 required keyword-only argument: 'qq'
person('jack', qq='123456789')
#輸出 jack 20 123456789
person(name='jack', qq='123456789')
#輸出 jack 20 123456789
功能:只能傳入且一定要傳入對應的關鍵字。
目的:為了進一步保護傳入到函式中的變數。
注:如果命名關鍵字在可變引數後,則無需單獨的*來分開了。
def person(name, age=20, *other, qq):
print(name, age, other, qq)
person('jack','lot','what','up',qq=12345)
#輸出: jack lot ('what', 'up') 12345
***********************************===分割線***********************************=== python3 函式引數
python函式引數包括五種型別 位置引數 預設引數 可變引數 關鍵字引數以及命名關鍵字引數。位置引數例如 def ex y y就是位置引數 例子 def ex y print y ex 2 預設引數 可以簡化函式的呼叫,設定預設引數時,要注意 一 必選引數在前,預設引數在後 二當函式有多個引數時,...
python3函式的引數
函式的定義能簡化 的邏輯,對於函式的呼叫者來說,只需要知道如何正確的傳遞引數,以及知道函式將返回什麼值就可以了,而函式內部的複雜邏輯被封裝起來,呼叫者不必了解。呼叫函式時,傳入實參的值按照位置順序以此賦給形參。def power x,n s 1 while n n n 1s s x return s...
python3 函式的引數
函式的引數 預設引數 可變引數 關鍵字引數 命名關鍵字引數 版本 v1.0 日期 2019.03.26 python版本 3.7 引數預設值 def f1 a,b 5,c 10 return a b 2 c 3 print f1 1,2,3 print f1 100,200 print f1 100...