1. 程式人生 > 其它 >函式的幾種引數型別

函式的幾種引數型別

技術標籤:python

# 函式
# (1 以def開頭,後接函式識別符號和圓括號()
# (2 所有傳入的引數和自變數都必須在圓括號中,可以在圓括號中定義引數
# (3 函式內容以冒號開始,並且要縮排
# (4 return 表示式  ,結束函式,選擇性返回一個值給呼叫方,不帶表示式的return相當於返回None
# (5 函式的引數有必須引數、關鍵字引數、預設引數、可變引數、組合引數

# 1、必須引數。必須以正確的順序傳入引數,傳入的數量也必須一樣。
def paerameone(str):
    print('傳入的引數:%s' % str)
paerameone('hello'
) # 當不傳入引數 # paerameone() 提示缺少引數:missing 1 required positional argument: 'str' # 當傳入的引數大於定義函式的引數數量 # paerameone('1','2') 提示paerameone() takes 1 positional argument but 2 were given # 2、關鍵字引數。函式呼叫關鍵字引數確定傳入的引數值。使用關鍵字引數允許呼叫函式時引數的順序與宣告式不一致。 def person(age,name): print('age是%s,name是%s'%(age,name)
) person(18,'小明') # 使用必須引數,傳入正確的順序、數量 person(age=20,name='小紅') # 3、預設引數。呼叫函式時,如果沒有傳遞引數,則使用預設引數。即在定義引數時,給引數一個預設值,如果呼叫的函式沒有傳參,則使用預設的引數。 # 並且預設引數要放在非預設引數後面 def default(age,name='靜靜'): print('age是%s,name是%s'%(age,name)) default(18) # age是18,name是靜靜 default(age=19) # age是19,name是靜靜 # 4、可變引數。如果需要一個函式能夠處理的函式宣告時更多這些引數叫作可變引數。
# 加了*號的變數名會存放所有的未命名的變數引數。在函式內部,引數前的*號將所有值放在同一個元組裡。當在呼叫時沒有傳指定引數,則就是一個空元組。 # 可變引數宣告時不會命名。 def personinfo(arg,*personinfotuple): print(arg) for var in personinfotuple: print('可變長引數為%s' % var) personinfo(arg='小明') personinfo('小明','20','shenzhen') # 4、關鍵字引數。使用**處理關鍵字引數。 # **param表示把param接收以key:value鍵值對的關鍵字引數。 def personinfo2(arg,**personparam): for var1,var2 in personparam.items(): print('關鍵字引數為%s%s'%(var1,var2)) personinfo2('小明',classcode='2',age=18)