zoukankan      html  css  js  c++  java
  • 函数式编程

    while True:

       if cpu利用率 > 90%:

                   #发送邮件

                    1、连接邮箱服务器

                    2、发送邮件

                    3、关闭连接

       if  内存 >50%:

                   #发送邮件

                    1、连接邮箱服务器

                    2、发送邮件

                    3、关闭连接

    上面发送邮件过程都是重复的所以,没有必要都写一次。而且这样做也浪费内存。可以改成下面的方式

    #定义函数def开头,当python解释器遇到def 开头的就知道是函数了就会把def后面的数据全部放到内存中并不会执行,只有调用它的时候才会执行

    def 发送邮件:

         1、连接邮箱服务器

         2、发送邮件

         3、关闭连接

    while True:

         if cpu利用率 > 90%:
                发送邮件()

         if  内存 >50%:

                发送邮件()#执行方法

    函数返回值:

    def  abc():

            .....

            return "123"#返回的值可以是任何东西

    #调用函数,并且接受函数返回来的值。这样就可以根据不同的值来进行下一步操作

    ret=abc()

    普通参数:

    #p,形式参数

    def abc(p):

          print p

          return "成功"

    #实际参数

    ret=abc("aaaa”)

    指定参数:

    def abc(名字,地址,邮箱):

           print 名字,地址,邮箱

    #按照这样写实参的数值和形参要一致,否则值就不对了

    ret=abc(abc,bj,123@qq.com)

    #指定参数,这样传递的时候实参就不需要按照顺序来写了

    ret=abc(邮箱=123@qq.com,地址=bj,名字=abc)

    默认参数:

    #这样在不写名字的时候也会获取到一个默认值MM,默认值的参数一定要放在末尾

    def abc(名字="mm",地址,邮箱):

           print 名字,地址,邮箱

    动态参数一:

    #name的类型是一个元组,等同于name=()

    def abc(*name):

          print name

    #可以传递所有类型

    abc(123,"name",[123,222],{"aa":"bb"})

    动态参数二:

    #name的类型是一个元组,等同于name={}

    def abc(**name):

          print name

    abc(a1=11,a2=22)

    打印结果:

    {"a1":"11","a2":"22"}

    动态参数三:

    #1个*和2个**同时存在的时候1个*必须在2个**的前面

    def abc(*con,**name):

          print con,name

    #这样就可以全部接受了,k1=11这样格式*num是无法接受的,只有**name可以

    abc(22,33,44,k1=11,k2=22)

    一般书写"*"方法,*ares,**kwargs

    定义可一个函数

    def f1(*argv):
       print argv

    li=range(5)

    f1(li)#注意看这里整个列表是元组中的一个元素
    ([0, 1, 2, 3, 4],)

    f1(*li)#如果这样传递参数效果就不一样了
    (0, 1, 2, 3, 4)

    字典也可以这么玩

    def f1(**kwargv):
       print kwargv

    dic={"k1":11}

    f1(dic)#这样执行是会报错的,以为它会当dic是一个值并不是一个k/v形式

    f1(**dic)#这样就可以传递成功

    全局变量和局部变量

    #全局变量,局部变量遵循规则要大写,局部变量小写

    NAME=123

    def a1():

         #局部变量,局部变量就是给a1局部程序用的,全局变量大家都可以使用,但是更改需要定义关键字global

          a1=111

          global NAME

          NAME=2222#这样就可以更改全局变量

  • 相关阅读:
    怎么把创业的风险降到最低
    反思:创业一开始并不需要重量级的产品
    口头承诺不如白纸黑字 技术大牛曹政(前4399核心员工)期权被坑的那些事
    idea配置tomcat去启动web项目
    Closeable释放资源
    Spring的SchedulingConfigurer实现定时任务
    thymeleaf js绑定多个变量参数
    Mysql concat() group_concat()用法
    枚举
    lambda之美
  • 原文地址:https://www.cnblogs.com/menkeyi/p/6669411.html
Copyright © 2011-2022 走看看