1 def 函數名(參數): 2 3 ... 4 函數體 5 ... 6 返回值 7 函數的定義主要有以下要點: 8 def:表示函數的關鍵字 9 函數名:函數的名稱,往後根據函數名調用函數 10 函數體:函數中進行一系列的邏輯計算,如:發送郵件、計算出 [11,22,38,888,2]中的最大數等... 11 參數:爲函數體提供數據 12 返回值:當函數執行完畢後,能夠給調用者返回數據。
一、返回值服務器
函數是一個功能塊,該功能到底執行成功與否,須要經過返回值來告知調用者。ide
以上要點中,比較重要有參數和返回值:函數
1 def 發送短信(): 2 3 發送短信的代碼... 4 5 if 發送成功: 6 return True 7 else: 8 return False 9 10 11 while True: 12 13 # 每次執行發送短信函數,都會將返回值自動賦值給result 14 # 以後,能夠根據result來寫日誌,或重發等操做 15 16 result = 發送短信() 17 if result == False: 18 記錄日誌,短信發送失敗...
二、參數ui
爲何要有參數?spa
1 def CPU報警郵件() 2 #發送郵件提醒 3 鏈接郵箱服務器 4 發送郵件 5 關閉鏈接 6 7 def 硬盤報警郵件() 8 #發送郵件提醒 9 鏈接郵箱服務器 10 發送郵件 11 關閉鏈接 12 13 def 內存報警郵件() 14 #發送郵件提醒 15 鏈接郵箱服務器 16 發送郵件 17 關閉鏈接 18 19 while True: 20 21 if cpu利用率 > 90%: 22 CPU報警郵件() 23 24 if 硬盤使用空間 > 90%: 25 硬盤報警郵件() 26 27 if 內存佔用 > 80%: 28 內存報警郵件()
1 def 發送郵件(郵件內容) 2 3 #發送郵件提醒 4 鏈接郵箱服務器 5 發送郵件 6 關閉鏈接 7 8 9 while True: 10 11 if cpu利用率 > 90%: 12 發送郵件("CPU報警了。") 13 14 if 硬盤使用空間 > 90%: 15 發送郵件("硬盤報警了。") 16 17 if 內存佔用 > 80%: 18 發送郵件("內存報警了。")
函數的有三中不一樣的參數:3d
1 # ######### 定義函數 ######### 2 3 # name 叫作函數func的形式參數,簡稱:形參 4 def func(name): 5 print name 6 7 # ######### 執行函數 ######### 8 # 'wupeiqi' 叫作函數func的實際參數,簡稱:實參 9 func('wupeiqi')
1 def func(name, age = 18): 2 3 print "%s:%s" %(name,age) 4 5 # 指定參數 6 func('wupeiqi', 19) 7 # 使用默認參數 8 func('alex') 9 10 注:默認參數須要放在參數列表最後
1 def func(**kwargs): 2 3 print args 4 5 6 # 執行方式一 7 func(name='wupeiqi',age=18) 8 9 # 執行方式二 10 li = {'name':'wupeiqi', age:18, 'gender':'male'} 11 func(**li)
1 def func(*args, **kwargs): 2 3 print args 4 print kwargs
1 def func(**kwargs): 2 3 print args 4 5 6 # 執行方式一 7 func(name='wupeiqi',age=18) 8 9 # 執行方式二 10 li = {'name':'wupeiqi', age:18, 'gender':'male'} 11 func(**li)
1 import smtplib 2 from email.mime.text import MIMEText 3 from email.utils import formataddr 4 5 6 msg = MIMEText('郵件內容', 'plain', 'utf-8') 7 msg['From'] = formataddr(["武沛齊",'wptawy@126.com']) 8 msg['To'] = formataddr(["走人",'424662508@qq.com']) 9 msg['Subject'] = "主題" 10 11 server = smtplib.SMTP("smtp.126.com", 25) 12 server.login("wptawy@126.com", "郵箱密碼") 13 server.sendmail('wptawy@126.com', ['424662508@qq.com',], msg.as_string()) 14 server.quit()