函數定義和使用

 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()
發送郵件實例
相關文章
相關標籤/搜索