函數 1.def 2.名字 3.函數體 4.返回值 5.參數 普通參數 指定參數 默認參數 動態參數 *ages **kwargs 萬能參數 *args **kwargs 6.補充: a. def f1 def f1 b.引用 c.全局變量 讀,均可讀 賦值,global 字典,列表,可修改 ==> 全局變量用大寫 #1.set 無序,不重複,可嵌套 #函數 def 名字 函數體 返回值 >>定義函數不執行 #def sendmail(xxoo):形式參數 #ret = sendmail('liangml')實際參數 # x='ok'默認參數 #send(x='liangml',xxoo='123')制定參數 函數的參數 #1.普通參數 #2.默認參數(默認參數必須放到參數列表的後邊) #3.指定參數 #4.*接受人任意實際參數 #5.*動態參數 # * 默認將傳入的參數,全部放置在元組中,f1(*[11,22,33,44]) # ** 默認將傳入的參數,全部放置在字典中,f1(**{'k1':'v1','k2':'v2'}) #6.萬能參數 *args **kwargs # str.format() # str format()#格式化輸出 #%s %d # s1 = "I am {0},age {1}".format("liangml",18) # print(s1) # s2 = "I am {0},age {1}".format(*["liangml",18]) # print(s2) # s1 = "I am {name},age {age}".format(name='liangml',age='18') # print(s1) # dic = {'name':'liangml','age':"18"} # s2 = 'I am {name},age {age}'.format(**dic) # print(s2) def sendmail(): 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]','郵箱密碼') server.sendmail('[email protected]',['[email protected]'],msg.as_string()) server.quit() sendmail() 優化後 def sendmail(): 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]','郵箱密碼') server.sendmail('[email protected]',['[email protected]'],msg.as_string()) server.quit() except: #發送失敗執行 return False else: #發送成功 return True ret = sendmail() print(ret) if ret == True: print('發送成功') else: print('發送失敗') return講解,如果沒有return python回自動return一個值None def f1(): print(123) #在函數中,一旦執行return,函數執行過程立即終止 return '111' print(456) r = f1() print(r) 再次優化 def sendmail(xxoo): 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]','郵箱密碼') server.sendmail('[email protected]',['xxoo'],msg.as_string()) server.quit() except: #發送失敗執行 return False else: #發送成功 return 'cc' while True: em = input("請輸入郵箱地址:") result = sendmail(em) if result == "cc": print("發送成功") else: print("發送失敗") 補充 # def f1(a1,a2): # return a1 + a2 # def f1(a1,a2): # return a1 * a2 # ret = f1(8,8) # print(ret) # def f1(a1): # a1.append(999) # li = [11,22,33,44] # f1(li) # print(li) #當函數傳送元素時使用的索引 #全局變量,所有的作用域都可讀 #對全局變量進行重新賦值,需要global #特殊的,列表字典,可修改,不可重新賦值 #定義全局變量的時候全部都是大寫 # def f1(): # name = 'liangml' # print(name) # def f2(): # print(name) #name = 'liangml'#全局變量 NAME = [11,22,33,44] def f1(): # age = 18 # global name #表示,name是全局變量 # name = '123' print(NAME) name.append(32) print(age,NAME) f1() def f2(): age = 19 print(age,NAME) f2()
函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.