函數(shù)定義
一段封裝的代碼荷腊,在用到它時進行調(diào)用
一個最簡單的函數(shù)
def fun1():#定義一個函數(shù)
print('hello')#函數(shù)內(nèi)容
fun1()#調(diào)用函數(shù),執(zhí)行函數(shù)內(nèi)的代碼
--->'hello'
函數(shù)也可以返回一個值
def fun2():#定義函數(shù)
return 'hello'#返回值
print(fun2())#把返回值打印出來
--->'hello'
return
1.return之后函數(shù)不再運行
2.return可以返回多個值
3.當返回多個值時女仰,會以元組的形式返回
形參/實參
def sumdata(a,b):#a,b--形參
return a+b#返回a,b的和
print(sumdata(5,5))#5,5--實參
--->10
def sumdata2(a=2,b=5):#形參可以給個缺省值抡锈,不傳實參時則使用缺省值
return a+b
sumdata()
--->7#不傳實參,則使用函數(shù)的缺省值一罩,即2+5
sumdata(10)
--->15#只傳參a為10,則運行10+5
函數(shù)的缺省值
函數(shù)調(diào)用時撇簿,參數(shù)的多種寫法
def sumdata2(a=98,b=196):#a,b參數(shù)的缺省值為98,196
return a+b
print(sumdata2())
--->294#沒有傳參數(shù),使用函數(shù)的缺省值98+196
print(sumdata2(100))
--->296#替換a的值,b使用缺省值,即100+196
print(sumdata2(b=100))
--->198#替換b的值,a使用缺省值汉嗽,即98+100
print(sumdata2(3,6))
#用戶輸入值,使用用戶的值
print(sumdata2(3,b=6))
--->9#先簡略寫法,后完整寫法
print(sumdata2(a=3,6))
--->#先完整寫法,后簡略寫法,報錯
print(sumdata2(a=3,b=6))
--->9#所有參數(shù)都用完整寫法
可變長度參數(shù) *args
允許用戶輸入任意數(shù)量的參數(shù)
def fun3(a,*args):
return a,args#返回(a,(args)),args以子元組的方式返回
print(fun3(1,2,3,4))
--->(1, (2, 3, 4))
def fun3(a,*args):
return a,*args#返回值為*args時,會少一層元組稳析,稱之為解包
print(fun3(1,2,3,4))
--->(1, 2, 3, 4)
關(guān)鍵字參數(shù) **args
允許用戶輸入任意個參數(shù),用戶傳的參數(shù)必須是x=y的格式,返回值是字典類型
def fun9(**kwargs):
return kwargs
print(fun9(name='小鵬',age=18))
--->{'name': '小鵬', 'age': 20}#返回字典格式