将来的你会感谢现在努力的自己,骚年,趁年轻多努力学习 ------ Jasper_boy

初识函数

使用函数可以减少重复编写相同的功能的代码,可以随意调用

1.基本函数

#def声明这是一个函数,后面函数名称,函数里是正常的python代码
def
o_age(): age=20 c_age=int(input("input your age:")) if c_age == age: print("恭喜你猜对了") elif c_age > age: print("你把我年龄说大了") else: print("你把我年龄说小了") # ret=o_age() # print(ret) o_age() #可以直接引用函数打印也可以赋值一个变量


2.函数返回值

#try except判断函数是否执行成功,返回状态
def
mail(): try: import smtplib from email.mime.text import MIMEText from email.utils import formataddr msg = MIMEText('hello,这是一封测试邮件,勿回复', 'plain', 'utf-8') msg['From'] = formataddr(['Jasper', 'qiang930903@126.com']) msg['To'] = formataddr(['Desperado', '408473944@qq.com']) msg['Subject'] = 'test mail' server = smtplib.SMTP('smtp.126.com', 25) server.login("qiangxxxxx@126.com", '*****') # 客户端授权密码 server.sendmail("qiangxxxxxx@126.com", ['408473944@qq.com'], msg.as_string()) server.quit() except: return False #可以是字符串 else: return True ret=mail() if ret == True: #此处ret要等于上面return的返回值 print("发送成功") else: print("发送失败")

 

#1.可以给函数使用多个变量(普通参数)
def mail(m_name,m_addr):
    try:
        import smtplib
        from email.mime.text import MIMEText
        from email.utils import formataddr

        msg = MIMEText('hello,这是一封测试邮件,勿回复', 'plain', 'utf-8')
        msg['From'] = formataddr(['Jasper', 'qiang930903@126.com'])
        msg['To'] = formataddr([m_name,m_addr])
        msg['Subject'] = '测试邮件'

        server = smtplib.SMTP('smtp.126.com', 25)
        server.login("qiang930903@126.com", 'hu930903')  # 客户端授权密码
        server.sendmail("qiang930903@126.com", [m_addr], msg.as_string())
        server.quit()
    except:
        return False
    else:
        return True
msg=input("输入要发送邮件人的名称:")
msg1=input("输入要发送的邮件地址:")
ret=mail(msg,msg1)  #函数定义了几个变量,这里就打印对应的几个变量
if ret == True:
    print("发送成功")
else:
    print("发送失败")

 

#2.函数变量默认参数
def send(xx,oo,sb='ok'):
    print(xx,oo,sb)
    return True

send('jasper','25')   #不传参会输出默认的变量参数
send('jasper','25','帅哥')  #传参会覆盖默认参数
输出结果:
jasper 25 ok
jasper 25 帅哥

重要提示:使用默认参数必须要放在参数列表最后面

 

#3.指定参数
def send(xx,oo,sb='ok'):
print(xx,oo,sb)
return True

send(oo='jasper',xx='25')
输出结果:
25 jasper ok
#默认参数是一个一个才对应,如果想指定变量的对应的参数位置,可以直接将变量=‘’

 

posted @ 2016-11-29 10:55  Jasper_boy  阅读(393)  评论(0编辑  收藏  举报