• 函数


      1 函数
      2 1.def
      3 2.名字
      4 3.函数体
      5 4.返回值
      6 5.参数
      7     普通参数
      8     指定参数
      9     默认参数
     10     动态参数
     11         *ages
     12         **kwargs
     13     万能参数
     14         *args  **kwargs
     15 6.补充:
     16     a.
     17         def f1
     18         def f1
     19     b.引用
     20     c.全局变量
     21         读,均可读
     22         赋值,global
     23         字典,列表,可修改
     24         ==> 全局变量用大写
     25 #1.set 无序,不重复,可嵌套
     26 #函数 def 名字  函数体  返回值  >>定义函数不执行
     27 #def sendmail(xxoo):形式参数
     28 #ret = sendmail('liangml')实际参数
     29 # x='ok'默认参数
     30 #send(x='liangml',xxoo='123')制定参数
     31 函数的参数
     32 #1.普通参数
     33 #2.默认参数(默认参数必须放到参数列表的后边)
     34 #3.指定参数
     35 #4.*接受人任意实际参数
     36 #5.*动态参数
     37 #       *   默认将传入的参数,全部放置在元组中,f1(*[11,22,33,44])
     38 #       **  默认将传入的参数,全部放置在字典中,f1(**{'k1':'v1','k2':'v2'})
     39 #6.万能参数  *args **kwargs
     40 # str.format()
     41 # str format()#格式化输出
     42 #%s %d
     43 # s1 = "I am {0},age {1}".format("liangml",18)
     44 # print(s1)
     45 # s2 = "I am {0},age {1}".format(*["liangml",18])
     46 # print(s2)
     47 # s1 = "I am {name},age {age}".format(name='liangml',age='18')
     48 # print(s1)
     49 # dic = {'name':'liangml','age':"18"}
     50 # s2 = 'I am {name},age {age}'.format(**dic)
     51 # print(s2)
     52 def sendmail():
     53     import  smtplib
     54     from email.mime.text import MIMEText
     55     from email.utils import formataddr
     56 
     57     msg = MIMEText('邮件内容','plain','utf-8')
     58     msg['From'] = formataddr(['名字','liangml0538@163.com'])
     59     msg['To'] = formataddr(["走人",'17295621220@qq.com'])
     60     msg['Subject'] = '主题'
     61 
     62     server = smtplib.SMTP('smtp.163.com',25)
     63     server.login('liangml0538@163.com','邮箱密码')
     64     server.sendmail('liangml0538@163.com',['172951020@qq.com'],msg.as_string())
     65     server.quit()
     66 
     67 sendmail()
     68 优化后
     69 def sendmail():
     70     try:
     71         import  smtplib
     72         from email.mime.text import MIMEText
     73         from email.utils import formataddr
     74         msg = MIMEText('邮件内容','plain','utf-8')
     75         msg['From'] = formataddr(['名字','liangml0538@163.com'])
     76         msg['To'] = formataddr(["走人",'17295622120@qq.com'])
     77         msg['Subject'] = '主题'
     78         server = smtplib.SMTP('smtp.163.com',25)
     79         server.login('liangml0538@163.com','邮箱密码')
     80         server.sendmail('liangml0538@163.com',['1729512020@qq.com'],msg.as_string())
     81         server.quit()
     82     except:
     83         #发送失败执行
     84         return False
     85     else:
     86         #发送成功
     87         return True
     88 ret = sendmail()
     89 print(ret)
     90 if ret == True:
     91     print('发送成功')
     92 else:
     93     print('发送失败')
     94 
     95 return讲解,如果没有return python回自动return一个值None
     96 def f1():
     97     print(123)
     98     #在函数中,一旦执行return,函数执行过程立即终止
     99     return '111'
    100     print(456)
    101 r = f1()
    102 print(r)
    103 
    104 再次优化
    105 def sendmail(xxoo):
    106     try:
    107         import  smtplib
    108         from email.mime.text import MIMEText
    109         from email.utils import formataddr
    110         msg = MIMEText('邮件内容','plain','utf-8')
    111         msg['From'] = formataddr(['名字','liangml0538@163.com'])
    112         msg['To'] = formataddr(["走人",'1721262020@qq.com'])
    113         msg['Subject'] = '主题'
    114         server = smtplib.SMTP('smtp.163.com',25)
    115         server.login('liangml0538@163.com','邮箱密码')
    116         server.sendmail('liangml0538@163.com',['xxoo'],msg.as_string())
    117         server.quit()
    118     except:
    119         #发送失败执行
    120         return False
    121     else:
    122         #发送成功
    123         return 'cc'
    124 
    125 while True:
    126     em = input("请输入邮箱地址:")
    127     result = sendmail(em)
    128     if result == "cc":
    129         print("发送成功")
    130     else:
    131         print("发送失败")
    132 
    133       补充
    134 # def f1(a1,a2):
    135 #     return a1 + a2
    136 # def f1(a1,a2):
    137 #     return a1 * a2
    138 # ret = f1(8,8)
    139 # print(ret)
    140 
    141 # def f1(a1):
    142 #     a1.append(999)
    143 # li = [11,22,33,44]
    144 # f1(li)
    145 # print(li)
    146 #当函数传送元素时使用的索引
    147 
    148 #全局变量,所有的作用域都可读
    149 #对全局变量进行重新赋值,需要global
    150 #特殊的,列表字典,可修改,不可重新赋值
    151 #定义全局变量的时候全部都是大写
    152 # def f1():
    153 #     name = 'liangml'
    154 #     print(name)
    155 # def f2():
    156 #     print(name)
    157 #name = 'liangml'#全局变量
    158 NAME = [11,22,33,44]
    159 def f1():
    160     # age = 18
    161     # global name #表示,name是全局变量
    162     # name = '123'
    163     print(NAME)
    164     name.append(32)
    165     print(age,NAME)
    166 f1()
    167 def f2():
    168     age = 19
    169     print(age,NAME)
    170 f2()
  • 相关阅读:
    C语言 指针
    C语言 字符串指针和字符串数组使用区别
    perl和python3 同时打开两个文件
    Java反射初探123456789
    电脑打不开CHM格式文件解决办法
    Spring启动报8080端口被占用问题
    SpringBoot复习
    项目开发文档编写规范
    Java核心编程-第一卷
    转载——类文件系列
  • 原文地址:https://www.cnblogs.com/liangml/p/5953581.html
Copyright © 2020-2023  润新知