函数---返回值

 

 

 

回顾

1、def:表示创建函数的关键字。
2、函数名:函数的名称,日后根据函数名调用函数。
3、(参数):为函数体提供数据。
4、函数体:函数中进行一系列的逻辑计算,如:发送邮件,计算出[11,22,33,44,55]中最大的数等。。。。
5、返回值:函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。
6、如果是定义的函数,则函数体是不执行的。只有调用的时候才会执行
 
 
一、返回值:
函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。
返回值语法:
def 发送短信():
       
    发送短信的代码...
   
    if 发送成功:
        return True
    else:
        return False
   
   
while True:
       
    # 每次执行发送短信函数,都会将返回值自动赋值给result
    # 之后,可以根据result来写日志,或重发等操作
   
    result = 发送短信()
    if result == False:
        记录日志,短信发送失败...

例如:下面这个发邮件的函数,要想知道是否添加成功,可以使用返回值的方式来进行发送。

 1 #!/usr/bin/env python
 2 # -*- coding:utf8 -*-
 3 # Author:Dong Ye
 4 
 5 def sendmail():
 6     import smtplib
 7     from email.mime.text import MIMEText
 8     from email.utils import formataddr
 9 
10     msg = MIMEText ('第一次玩邮件测试,骚扰下,请见谅','plain','utf-8')
11     msg['From'] = formataddr(["系统告警",'abobo1984@126.com'])
12     msg['To'] = formataddr(["dongye",'wulicheng@gomeholdings.com'])
13     msg['To'] = formataddr(["dongye",'dongye@gomeholdings.com'])
14     msg['subject'] = "告警邮件"
15 
16     server = smtplib.SMTP("smtp.126.com",25)
17     server.login("abobo1984@126.com",'abiao555')
18     server.sendmail('abobo1984@126.com',['wulicheng@gomeholdings.com','dongye@gomeholdings.com',], msg.as_string())
19     server.quit()
20 sendmail()

格式如下:

 1 #!/usr/bin/env python
 2 # -*- coding:utf8 -*-
 3 # Author:Dong Ye
 4 def sendmail():
 5     try:    #尝试执行发送邮件代码:
 6         import smtplib
 7         from email.mime.text import MIMEText
 8         from email.utils import formataddr
 9 
10         msg = MIMEText ('第一次玩邮件测试,骚扰下,请见谅','plain','utf-8')
11         msg['From'] = formataddr(["系统告警",'abobo1984@126.com'])
12         msg['To'] = formataddr(["dongye",'dongye@gomeholdings.com'])
13         msg['subject'] = "告警邮件"
14 
15         server = smtplib.SMTP("smtp.126.com",25)
16         server.login("abobo1984@126.com",'abiao555')
17         server.sendmail('abobo1984@126.com',['dongye@gomeholdings.com',], msg.as_string())
18         server.quit()
19 
20     except:
21         #如果发送失败返回False,并退出程序
22         #return "失败"
23         return False
24     else:
25         #如果发送成功返回True,并退出程序
26         return "成功"
27         return True
28 
29 ret = sendmail()
30 
31 if ret == True:
32     print("发送成功")
33 else:
34     print("发送失败")
注释:
1、在执行函数时,如果遇到了return,则会返会return的定义值。
2、return的定义值会直接赋值给接收体“ret  =  sendmail()”。
3、在函数中一旦执行了return,函数执行过程会立即终止,不会再往后执行。
4、在python中如果没有return返回值时,则python会默认指定一个返回值为:None
5、带return的返回值,执行顺序如下:

原文地址:https://www.cnblogs.com/abobo/p/8035753.html