zoukankan      html  css  js  c++  java
  • 函数

      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()
  • 相关阅读:
    4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块
    3 Apr 18 内置函数 列表生成式与生成器表达式 模块的使用之import 模块的使用之from…import…
    2 Apr 18 三元表达式 函数递归 匿名函数 内置函数
    30 Mar 18 迭代器 生成器 面向过程的编程
    29 Mar 18 函数 有参、无参装饰器
    28 Mar 18 函数
    27 Mar 18 函数的参数
    26 Mar 18 函数介绍
    23 Mar 18 文件处理
    22 Mar 18 补充数据类型+字符编码+文件处理
  • 原文地址:https://www.cnblogs.com/liangml/p/5953581.html
Copyright © 2011-2022 走看看