python3 函數參數

Python函數參數

普通位置參數

沒啥好說的,平常都是用的這個,注意位置不能調換。

默認參數

def enroll(name, gender, age=6, city='Beijing'):
    pass

可變參數

可變參數允許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝爲一個tuple

def calc(*numbers):
    pass

nums = [1, 2, 3]
calc(*nums)

關鍵字參數

而關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝爲一個dict 。

在調用該函數時,可以只傳入必選參數。

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

person('Michael', 30)
person('Adam', 45, gender='M', job='Engineer')  
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)

命名關鍵字參數

命名關鍵字參數需要一個特殊分隔符**後面的參數被視爲命名關鍵字參數。

調用方式如下:

>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer

如果函數定義中已經有了一個可變參數,後面跟着的命名關鍵字參數就不再需要一個特殊分隔符*了:

def person(name, age, *args, city, job):
    print(name, age, args, city, job)

命名關鍵字參數必須傳入參數名,這和位置參數不同。如果沒有傳入參數名,調用將報錯

命名關鍵字參數可以有缺省值,從而簡化調用:

def person(name, age, *, city='Beijing', job):
    print(name, age, city, job)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章