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
臭屌丝!!!