python3(三)函数
1、定义函数
函数的名称建议使用小写单词组成,单词间以下划线分隔(下划线命名法)
def function( args ) :
.......函数体......
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple
2、函数参数
参数定义的顺序必须是:必选参数、默认参数、可选参数、命名关键字参数、关键字参数
(1)必选参数
def function(name,age,grade):
xxxxx
return xx
(2)默认参数
def function(name,age,grade='3'):
xxxx
return xxx
(3)可变参数
def function(name.age,*number):
(4)命名关键字参数
如果要限制关键字参数的名字,就可以用命名关键字参数
def function(name.age,*,key,**kw):
(5)关键字参数
def function(name.age,**kw):
function('张三',12,sex='male',job='Engineer')
(6)以 list 或dict 作为参数
#a,b为必选参数;c为默认参数;args为可变参数;kw为关键字参数
def f1(a,b,c=0,*args,**kw):
print('a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw)
def f2(a,b,c=0,*,d,**kw):
print('a=',a,'b=',b,'c=',c,'d=',d,'kw=',kw)
args=(1,2,3,4) kw={'Nation':'China','City':'Shanghai'}
f1(*args,**kw) ==> a= 1 b= 2 c= 3 args= (4,) kw= {'City':'Shanghai','Nation':'China'}
args=(1,2,3) kw={'y':33,'city':'Shanghai'}
f2(*args,**kw) ==> a= 1 b= 2 c= 3 city= Shanghai kw= {'y': 33}