• 【Python自动化运维之路Day4】


    abs()  取绝对值
    all()  所有为真,则为真,否则为假
    any()  至少有一个为真,就为真,否则为假
    callable()   判断函数是否可以被调用,如果可以返回True,否则返回False

    bin()  将十进制数转换为二进制表示
    hex()  将十进制的数值转换为十六进制
    oct()  将十进制数值转换为8进制

    chr() 和 ord()  

    chr 返回一个元素在ASCII表里对应的关系的字符串,如str(65)返回的是大写字母“A“ ,反查是 ord()

    #随机生成一个6位验证码
    import random
    li=[]
    for i in range(6):
        r=random.randrange(0,5)
        if r ==2 or r==4:
            num=random.randrange(0,10)
            li.append(str(num))
        else:
            n=random.randrange(65,91)  #从65到90 之间随机取出一个数字
            c=chr(n)   #把数字转换成字母
            li.append(c)
    j="".join(li)   #字符串拼接,只能拼接字符

    bool()  返回给定元素的布尔值
    divmod()  相除,返回商和余数,返回值是一个元组
    globals() 获取所有的全局变量;
    locals()获取所有局部变量
    compile():将字符串编译成python代码
      eval()  可以把括号里面的字符串当成python执行,但只支持表达式且有返回值;
      exec()  执行,比eval要牛逼,因为exec可以执行任何Python代码,但eval只能执行表达式;但有个缺陷是eval有返回值,而exec没有。   
      exec可以执行compile编译过的,也可以接受代码执行。
      eval()      执行,把接受的字符串当做一个表达式,把代码编译成一行的表达式;
    isinstance(s,类型)用来判断对象是否是类的实例
    issubclass  
    zip():合并多个list tulpe
    三元运算
       result = 值1 if 条件 else 值2
    lambda
      my_lambda = lambda arg : arg + 1

    map  遍历序列,对序列中每个元素进行操作,最终获取新的序列
    new_list = map(lambda a: a + 100, li)
    new_list = map(lambda a, b: a + b, li, sl)
    fiter:
    li = [11, 22, 33]
    new_list = filter(lambda arg: arg > 22, li)

    二  装饰器

    @+函数名
    2个功能
    1、自动执行out函数,并且将其下面的函数名当作参数执行
    2、将out函数的返回值,重新赋值给下面的参数

    def outer(func):
        def inter(*args,**kwargs):
            print("before")
            r=func(*args,**kwargs)
            print("hello")
            return r
        return inter
    @outer
    def f1(a):
        print(a)
        return "屌丝!"
    
    @outer
    def f2(a1,a2):
        print("F2",a1,a2)
        return "臭屌丝!!!"
    
    test=f1(1111)
    print(test)
    
    test2=f2(222,333)
    print(test2)
    
    #结果
    before
    hello
    屌丝!
    
    before
    F2 222 333
    hello
    臭屌丝!!!
  • 相关阅读:
    centos 6.5安装erlang和RabbitMQ
    vert.x学习(八),用JDBCClient配合c3p0操作数据库
    vert.x学习(七),使用表单获取用户提交的数据
    vert.x学习(六),动态模板与静态文件的结合
    vert.x学习(五),用StaticHandler来处理静态文件
    函数-生成器、迭代器
    函数装饰器
    函数参数、作用域、高阶函数、递归函数、高阶函数
    深浅拷贝、集合set、函数、日志
    第一部分day5 文件操作
  • 原文地址:https://www.cnblogs.com/renyb/p/5553338.html
Copyright © 2020-2023  润新知