定义函数
def mail():n = 123n += 1print(n)mail()
f = mail
f()
輸出:
輸出:
[11, 22, 33, 44]
動態參數:
一個*號 轉換成元組
def show(*arg):#轉換成元組print(arg,type(arg))show(11,22,33,44,55)
輸出:
(11, 22, 33, 44, 55) <class 'tuple'>
def show(**arg):print(arg,type(arg))show(n1 = 78,n2 = 99,n3 = "candy")
輸出:
#寫參數的時候一個*放在前面、兩個*放在后面 def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs)) #傳參數的時候也得按順序 show(11,22,33,44,n1=88,xiaolong = "candy")
輸出:
def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs))#show(11,22,33,44,n1=88,xiaolong='candy') l = [11,22,33,44] d = {'n1':88,'xiaolong':'candy'} #show(l,d) show(*l,**d)
輸出:
例:
s1 ="{0} is {1}" #result = s1.format("xiaolong","boy") l = ["xiaolong","boy"] result = s1.format(*l) print(result)
輸出:
s1 = "{name} is {acter}" d ={'name':'xiaolong','acter':'boy'} #result = s1.format(name = "xiaolong",acter = "boy") result = s1.format(**d) print(result)
輸出:
xiaolong is boy
def func(a):b = a + 1return b result = func(99) print(result)#lambda表達式,簡單函數的表示方式 func = lambda a: a+1 #lambda a: a+1 是一個函數 #lambda 關鍵字 #a 形參 #: 函數:函數體 #a+1 執行,執行的結果自動加一個return值#>>>創建一個形式參數 #>>>創建了函數內容, a+1 并把,結果return ret = func(99) print(ret)
輸出:
- 函數式:將某功能代碼封裝到函數中,日后便無需重復編寫,僅調用函數即可
- 面向對象:對函數進行分類和封裝,讓開發“更快更好更強...”
函數的定義主要有如下要點:
- def:表示函數的關鍵字
- 函數名:函數的名稱,日后根據函數名調用函數
- 函數體:函數中進行一系列的邏輯計算,如:發送郵件、計算出 [11,22,38,888,2]中的最大數等...
- 參數:為函數體提供數據
- 返回值:當函數執行完畢后,可以給調用者返回數據。
1、返回值
函數是一個功能塊,該功能到底執行成功與否,需要通過返回值來告知調用者。
import smtplib from email.mime.text import MIMEText from email.utils import formataddr def mail():ret = Truetry:msg = MIMEText('郵件內容', 'plain', 'utf-8')msg['From'] = formataddr(["武沛齊", 'wptawy@126.com'])msg['To'] = formataddr(["走人", '424662508@qq.com'])msg['Subject'] = "主題"server = smtplib.SMTP("smtp.126.com", 25)server.login("wptawy@126.com", "郵箱密碼")server.sendmail('wptawy@126.com', ['424662508@qq.com', ], msg.as_string())server.quit()except Exception:ret = Falsereturn ret#返回值 ret = mail() if ret:print("發送成功") else:print("發送失敗")一個函數里面沒有出現return 、默認返回的是none?
遇到return 函數內容就終結了
def show():print('a')return [11,22]print('b')ret = show() print(ret)輸出:
a
[11, 22]
?參數:
import smtplib from email.mime.text import MIMEText from email.utils import formataddrdef mail(user):#形參ret = Truetry:msg = MIMEText('郵件內容', 'plain', 'utf-8')msg['From'] = formataddr(["武沛齊", 'wptawy@126.com'])msg['To'] = formataddr(["走人", '424662508@qq.com'])msg['Subject'] = "主題"server = smtplib.SMTP("smtp.126.com", 25)server.login("wptawy@126.com", "郵箱密碼")server.sendmail('wptawy@126.com', [user, ], msg.as_string())server.quit()except Exception:ret = Falsereturn ret#返回值 ret = mail('123456@qq.com')#實參 ret = mail('1234567@qq.com')#實參 ret = mail('12345678@qq.com')#實參 ret = mail('123456789@qq.com')#實參 if ret:print("發送成功") else:print("發送失敗")?
#無參數 # show(): -- > show()#一個參數 """ def show(arg):print(arg) show("xiao") """#兩個參數 """ def show(arg,arga):print(arg,arga) show("xiao","long") """""" #默認參數,必須放在最后 def show(a1,a2=999):print(a1,a2)#show(111) show(111,888) """#指定參數 def show(a1,a2):print(a1,a2)show(a2 =123, a1=999)?
def show(arg):print(arg)n =[11,22,33,44] show(n)輸出:
[11, 22, 33, 44]
動態參數:
一個*號 轉換成元組
def show(*arg):#轉換成元組print(arg,type(arg))show(11,22,33,44,55)
輸出:
(11, 22, 33, 44, 55) <class 'tuple'>
?
兩個*轉換成字典:def show(**arg):print(arg,type(arg))show(n1 = 78,n2 = 99,n3 = "candy")
輸出:
{'n1': 78, 'n2': 99, 'n3': 'candy'} <class 'dict'>
?
強強聯合:#寫參數的時候一個*放在前面、兩個*放在后面 def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs)) #傳參數的時候也得按順序 show(11,22,33,44,n1=88,xiaolong = "candy")
輸出:
(11, 22, 33, 44) <class 'tuple'>
{'n1': 88, 'xiaolong': 'candy'} <class 'dict'>
?
注意:def show(*args,**kwargs):print(args,type(args))print(kwargs,type(kwargs))#show(11,22,33,44,n1=88,xiaolong='candy') l = [11,22,33,44] d = {'n1':88,'xiaolong':'candy'} #show(l,d) show(*l,**d)
輸出:
(11, 22, 33, 44) <class 'tuple'>
{'n1': 88, 'xiaolong': 'candy'} <class 'dict'>
?
字符串的格式化:例:
s1 ="{0} is {1}" #result = s1.format("xiaolong","boy") l = ["xiaolong","boy"] result = s1.format(*l) print(result)
輸出:
xiaolong is boy
?
字符串的格式化: 例:s1 = "{name} is {acter}" d ={'name':'xiaolong','acter':'boy'} #result = s1.format(name = "xiaolong",acter = "boy") result = s1.format(**d) print(result)
輸出:
xiaolong is boy
?
例:def func(a):b = a + 1return b result = func(99) print(result)#lambda表達式,簡單函數的表示方式 func = lambda a: a+1 #lambda a: a+1 是一個函數 #lambda 關鍵字 #a 形參 #: 函數:函數體 #a+1 執行,執行的結果自動加一個return值#>>>創建一個形式參數 #>>>創建了函數內容, a+1 并把,結果return ret = func(99) print(ret)
輸出:
100
100
?
#普通條件語句 if 1 == 1:name = "wupeiqi" else:name = "xiaolong" #三元運算 name = "wupeiqi" if 1==1 else "xiaolong"?
轉載于:https://www.cnblogs.com/mrzuo/p/7118367.html
總結
- 上一篇: 【jQuery】复选框的全选、反选,推断
- 下一篇: 使用alipaySDK编译时找不到ope