函數初識
-
函數的基本結構
def 關鍵字--定義函數
func 函數名和變量的命名規則一樣
() 格式,用來船體參數,
:申明函數定義語句的結束
def func():
print('哈啊哈')#函數體
func()#調用函數
-
函數的返回值
return 返回值
return的內容返回給了函數的調用
return下方的代碼不執行,終止這個函數
return 返回多個內容的時候還是元組形式
return 沒有寫返回值的時候返回的是None,不寫return返回None
def yue():
print("打開手機")
print("打開微信")
return 111
print("找到女友")
print("晚上約嗎")
return "蘿莉小姐姐","大媽","人妖" # return 返回
print("確實有點累")
print(yue()) # 111
print(1234)
=========================================
lst = [1,2,3,4,5]
def func():
for i in lst:
print(i)
lst.append(input(">>>"))
return lst
-
函數的參數
1:位置參數
def yue(a,b,c): # 形參
print("打開手機")
print(f"打開{a},{c},{b}")
print("附近的人")
print("找個妹子")
print("聊一聊")
yue(True,(12,4,3),[1,2,3,4]) # 實參
2:默認參數
def userinfo(name,age,sex="男"): # 位置參數 > 默認參數
print(name,sex,age)
count = 5
while count:
name = input("name:")
sex = input("sex(男性直接回車!):")
age = input("age:")
if sex == "女":
userinfo(name,age,sex)
else:
userinfo(name, age)
count -= 1
3:關鍵字參數:
def func(a,c,b=1): # a,c位置參數 ,b=1 是默認參數
print(a,b,c)
func(a=1,b=5,c=2) # a=1,b=5,c=2 是關鍵字參數
4:混合參數
def func(a,b,c):
print(a,b,c)
func(1,2,c=5) # 混合參數
**************************************************************
# 形參: 函數的定義中括號里是形參
# 實參: 函數的調用括號里是實參
# 位置傳參時 形參和實參必須一一對應
# 傳參: 將實參傳遞給形參的過程就是傳參
# 函數的參數:
# 形參: 函數定義的時候叫做形參
# 位置參數
# 默認參數
# 混合參數
# 實參: 函數調用的時候叫做實參
# 位置參數
# 關鍵字參數
# 混合參數
# 傳參: 將實參傳遞給形參的過程叫做傳參
函數的動態參數
#*args動態位置參數
def func(a,b,*args):#*args是萬能的位置參數,*在函數定義的時候叫聚合
print(a,b,args)#接收的是元祖形式
def func(a,b,*args):
print(a,b*args)#*args在函數內部是打散的意思
位置參數>動態位置參數>默認參數
-------------------------------------------------
#**kwargs動態關鍵字參數
def func(a,b,**kwargs):#**kwargs接受的是關鍵字,字典的格式
print(a,b,kwargs)#字典的格式
def func(a,b,kwargs):
print(a,b,*kwargs)#*kwargs獲取到的是字典的鍵
位置參數>動態位置參數>默認參數(關鍵字參數)>動態關鍵字參數
-------------------------------------------------
*args,**kwargs萬能參數
def func(*args,**kwargs):
print(args,kwargs)
函數的注釋
def func1(user,password):
"""
密碼加密
:param user: 用戶名 str
:param password: 密碼 str
:return: 加密的密碼 MD5
"""
print(user,password)
print(func.__doc__)#可以查看函數的注釋