函數(shù)
一個(gè)函數(shù)具有某種功能
封裝代碼沧踏,實(shí)現(xiàn)代碼重用
函數(shù)定義
def function():
代碼1
代碼2
函數(shù)的參數(shù)
形參:使用的參數(shù)是形參,形參讓函數(shù)接收數(shù)據(jù)巾钉,在函數(shù)內(nèi)部當(dāng)作變量使用(非真實(shí)數(shù)據(jù))
實(shí)參:調(diào)用函數(shù)時(shí)翘狱,傳遞的函數(shù)是實(shí)參,把數(shù)據(jù)傳遞到函數(shù)內(nèi)部(真實(shí)數(shù)據(jù))
數(shù)據(jù)類型
可變數(shù)據(jù)類型:列表 字典 集合
不可變數(shù)據(jù)類型:數(shù)字 字符串 元組 布爾
關(guān)鍵字傳參 形參默認(rèn)值
可以不按順序砰苍,如果使用位置傳參和關(guān)鍵字傳參混用潦匈,需要把關(guān)鍵字傳參放后面阱高。
如果設(shè)置了形參默認(rèn)值,那么不傳的時(shí)候茬缩,會(huì)使用默認(rèn)值赤惊。
def func(name, age=18, gender):
print(f'我的名字{name},我的年齡{age}凰锡,我的性別:{gender}')
func(name='小明',age=20,gender='男')
func(name='小明',gender='男')
不定長傳參 不定長關(guān)鍵傳參
*args 把沒有形參的實(shí)參進(jìn)行打包
def fun(*args):
print(args)
fun(1,2,3,4,5) # (1,2,3,4,5)
**kwargs 把沒有形參的實(shí)參進(jìn)行打包未舟,只打包關(guān)鍵字參數(shù)
def fun(**kwargs):
print(kwargs)
fun(name='小明', age=20) # {'name': '小明', 'age': 20}
變量作用域
全局變量:定義在函數(shù)外的變量 或者 在函數(shù)內(nèi)使用global聲明的變量
局部變量:定義在函數(shù)內(nèi)的變量
a = 1 #全局變量a
def func():
global a #此時(shí)的a也為全局變量
函數(shù)的返回值 return
將函數(shù)內(nèi)的數(shù)據(jù)傳遞出來
return調(diào)用之后,直接退出了函數(shù)
def func(a,b):
return a,b #如果返回多個(gè)參數(shù)掂为,會(huì)被按順序存放到元組中
x,y = func(1,2)
交換值
a = 1
b = 2
a,b = b,a
print(a,b) # 2 1
函數(shù)的說明文檔
使用三對雙引號裕膀,然后敲擊回車,就會(huì)產(chǎn)生說明模板
help(function)
def function(args1,args2):
"""
描述函數(shù)的作用
:parma arg1:
:parma arg2:
:return:
"""
代碼語句1
代碼語句2