函数 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()
函数
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.