Python3中的函式引數

2021-09-30 20:37:25 字數 2977 閱讀 9032

普通函式:(只含有位置引數)

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...