把N行代碼定義成一個變量,後面直接調用變量便可.python
可讀性強,可重用性強.函數
#關鍵字 變量名: def 變量名(形參): 函數體#保持縮進一致 return "能夠加返回值"#返回值默認是none 變量名(實參)#調用函數
函數是沒有返回值的,默認是Nonecode
def 函數名(): #定義 函數體 return x #返回值x,不填默認None,函數運行到返回值便再也不往下運行, print(函數名()) #調用函數,輸出返回值
del 函數名(): 函數體 return 6,7,"alex" #若是return後面跟的是多個值,這時默認返回的是元組類型 #若是是運算類型則先運算再返回
實參角度:class
形參角度:變量
按位置挨個代入,要從左往右按照順序,一一對應,不能多或少co
def func(a1,a2): 函數體 func(1,2) #a1=1,a2=2
def func(a,b,c): 函數體 func(1,2,c=3) #c=3是關鍵字參數
def func(a,b=2,c=3): 函數體 func(1) #b默認等於2,c=3,傳入其餘值則修改. #此時a爲1,b和c爲默認值, func(1,2,3) #此時a爲1,b爲2,c爲3
*args接收多個位置參數字典
只支持位置傳參return
def func(*args): print(args) func(1)#輸出的結果是(1,)是元組類型 fun((1,2,3))#輸出的結果是((1,2,3),)嵌套元組 fun(*(1,2,3))#輸出的結果是(1,2,3)元組
def fun(a1,*args): print(a1,args) fun(1,2,3)#其中a1是1,args是(2,3) #不能用關鍵字傳參.萬能參數放在後面
def func(*args,a2): print(args,a2) func(1,2,3,4,5,a2=1)形參關鍵字在後面時能夠用關鍵字傳 #輸出爲(1,2,3,4,5)1
**kwargs接收多個關鍵字參數參數
def func(**kwargs): print(kwargs) func(name="alex",age=40) #輸出的結果爲字典 #{"name":"alex","age":40}