【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():
r=random.randrange(,)
if r == or r==:
num=random.randrange(,)
li.append(str(num))
else:
n=random.randrange(,) #从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
臭屌丝!!!
上一篇:【读书笔记】iOS-读取文本文件


下一篇:ios waxpatch lua语法