標籤:記憶體 發送 mime string 添加 why 常用 import als
列表
序列是最基本的資料結構,序列中的每個元素都分配一個數字,它的位置索引第一個是0,第二個是1,以此類推
列表是最常用的python資料類型,作為一個方括弧內的逗號分隔值出現
列表的資料項目不需要具有相同的類型
python列表函數
序號 函數
1 len(list)
列表元素個數
2 max(list)
返回列表元素最大值
3 min(list)
返回列表元素最小值
4 list(seq)
將元群組轉換為列表
元組
元組和列表類似,不同之處在於元組的元素不能修改
元組使用小括弧,列表使用方括弧
元組建立很簡單,只需要在括弧中添加元素,並使用逗號隔開即可
set集合
集合是一個無序不重複元素的序列。
準系統是進行成員關係測試和重複資料刪除元素
li = [] 建立一個列表,這種方法在python內部實際是會調用list()這種方法。
list()建立列表的另外一種方法
注:類後面加一個括弧(),就是調用了類的_init_方法,執行這個方法的時候,需要接收一個參數。
比如在list((11,22,33,44))裡面就傳了一個元組進來。
在_init_內部實際是執行了一個for迴圈,這個for迴圈就去迴圈元組裡面的所有元素,然後挨個去建立。
dic = {"k1":v123} 建立一個字典,key:value是一個索引值對,一個索引值對代表的是字典的一個元素
se = {"123","456"} 建立一個集合,和建立一個字典很像都是用大括弧{}建立,但是有不一樣的地方,不再以索引值對作為一個元素,而是寫一個什麼東西它就是一個元素。
函數
面向過程編碼:
意思是從上到下寫,按照邏輯一點一點的寫,當遇到相同功能的時候,複製粘貼相同的代碼實現,這就叫面向過程編程。
代碼可讀性差
執行效率低
函數式編程:
函數式:將某功能代碼封裝到函數中,日後便無需重複編寫,僅調用函數即可
物件導向:對函數進行分類和封裝,讓開發“更快更好更強...”
函數式編程最重要的是增強代碼的重用性和可讀性
函數:
定義函數
name 叫做函數func的形式參數,簡稱:形參
def func(name):
print name
執行函數
‘wupeiqi‘ 叫做函數func的實際參數,簡稱:實參
func(‘wupeiqi‘)
函數定義:
def 函數名(): 第一步建立函數
...
函數體 放到記憶體,函數體在建立的時候是不被執行的,調用的時候才被執行。
...
調用函數()
傳回值 第二步,函數中一旦執行return,函數執行過程立即終止,不再向下執行。
# 普通參數:嚴格按照順利,將實際參數賦值給形式參數
# def send(name):
# ...
# send("eric")
def sendmail(mail_addr): #第一步、建立函數 (mail_addr是形式參數)第三步、mail_addr = {str}‘[email protected]‘
try: # 這個功能是捕捉異常,目前還沒學到。
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
msg = MIMEText(‘郵件內容‘, ‘plain‘, ‘utf-8‘)
msg[‘From‘] = formataddr(["福田", ‘[email protected]‘])
msg[‘To‘] = formataddr(["走人", ‘[email protected]‘])
msg[‘Subject‘] = "主題"
server = smtplib.SMTP("smtp.163.com", 25)
server.login("[email protected]", "521why,.")
server.sendmail(‘[email protected]‘, [mail_addr, ], msg.as_string()) #將收件者地址‘[email protected]‘換成一個變數
server.quit()
except: #只要try下面的代碼,捕捉到異常,就會執行except裡面的代碼
#發送失敗執行
# return False #以上代碼執行失敗,就返回一個False
return "no" #返回的也可以是字串
else:
#發送成功執行
# return True #否則,返回一個True
return "yes" #return傳回值給函數調用者sendmail,
# sendmail()
# ret = sendmail(‘[email protected]‘) #第二步、調用函數 (‘[email protected]‘是實際參數)
# ret = sendmail("[email protected]")
# print(ret)
# if ret == True: #通過判斷ret是False還是True來顯示發送狀態
# # if ret == "cc": #也可以判斷返回的是不是定義的字串值
# print("發送成功")
# else:
# print("發送失敗")
while True:
em = input("請輸入郵箱地址:")
# sendmail(em)
result = sendmail(em) #em是參數傳遞的內容,可以是多個
# print(result)
if result == "yes":
print("發送成功")
else:
print("發送失敗")
python基礎(2)