零基础学Python:函数的参数详解
- 必備參數(shù)
- 關(guān)鍵字參數(shù)
- 默認(rèn)參數(shù)
- 不定長參數(shù)
1 必需的參數(shù):
必須參數(shù)須以正確的順序傳入函數(shù),調(diào)用的數(shù)量必須和聲明時(shí)的一樣
def f(name,age):print('I am %s,I am %d'%(name,age))f('alex',18) f('alvin',16)2 關(guān)鍵字參數(shù):
關(guān)鍵字參數(shù)和函數(shù)調(diào)用關(guān)系緊密,函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值。使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時(shí)參數(shù)的順序與聲明時(shí)不一致,因?yàn)?Python 解釋器能夠用參數(shù)名匹配參數(shù)值。
''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def f(name,age):print('I am %s,I am %d'%(name,age))# f(16,'alvin') #報(bào)錯(cuò) f(age=16,name='alvin')3 缺省參數(shù)(默認(rèn)參數(shù)):
調(diào)用函數(shù)時(shí),缺省參數(shù)的值如果沒有傳入,則被認(rèn)為是默認(rèn)值。下例會(huì)打印默認(rèn)的age,如果age沒有被傳入:
def print_info(name,age,sex='male'):print('Name:%s'%name)print('age:%s'%age)print('Sex:%s'%sex)returnprint_info('alex',18) print_info('鐵錘',40,'female')4 不定長參數(shù)
你可能需要一個(gè)函數(shù)能處理比當(dāng)初聲明時(shí)更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),和上述2種參數(shù)不同,聲明時(shí)不會(huì)命名。
# def add(x,y): # return x+ydef add(*tuples):sum=0for v in tuples:sum+=vreturn sumprint(add(1,4,6,9)) print(add(1,4,6,9,5))加了星號(hào)*的變量名會(huì)存放所有未命名的變量參數(shù)。而加(**)的變量名會(huì)存放命名的變量參數(shù)
def print_info(**kwargs):print(kwargs)for i in kwargs:print('%s:%s'%(i,kwargs[i]))#根據(jù)參數(shù)可以打印任意相關(guān)信息了returnprint_info(name='alex',age=18,sex='female',hobby='girl',nationality='Chinese',ability='Python')###########################位置def print_info(name,*args,**kwargs):#def print_info(name,**kwargs,*args):報(bào)錯(cuò)print('Name:%s'%name)print('args:',args)print('kwargs:',kwargs)returnprint_info('alex',18,hobby='girl',nationality='Chinese',ability='Python') # print_info(hobby='girl','alex',18,nationality='Chinese',ability='Python') #報(bào)錯(cuò) #print_info('alex',hobby='girl',18,nationality='Chinese',ability='Python') #報(bào)錯(cuò)注意,還可以這樣傳參:
''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def f(*args):print(args)f(*[1,2,5])def f(**kargs):print(kargs)f(**{'name':'alex'})5.高階函數(shù)
至少滿足下面一個(gè)條件的函數(shù):
- 接受一個(gè)或者多個(gè)函數(shù)作為輸入
- 輸出一個(gè)函數(shù)
總結(jié)
以上是生活随笔為你收集整理的零基础学Python:函数的参数详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零基础学Python:作用域详解
- 下一篇: python基础教程:多态、多继承、函数