callable() # 判断能否被调用
实例---随机验证码:
知识点:
r = chr(65)
print(r) # 产生字母
n = ord("A")
print(n) # 产生数字
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:
temp = random.randrange(65,91)
c = chr(temp)
li.append(c)
result = "".join(li) # 拼接['B', 'D', 'F']---->BDF
print(result)
# compile() 无返回值,执行python代码,接受:代码或者字符串
# 编译 exec(编译成python一样的)
s = "print(124)"
r = compile(s, "<string>", "exec") # 将字符串编译成python代码
print(r)
# 执行
exec(r) # 字符串编译成python代码,执行
# eval() 表达式 样式的 进行执行,有返回值(可以获取到结果)
s = "8*8"
ret = eval(s)
print(ret) ---->结果为64
# dir() 获取对象提供了哪些功能
# divmode
# 一共:97条数据,每页显示10条,需要多少而
r = divmod(97, 10)
print(r)
n1, n2 = divmod(97, 10)
对象是类的实例
# isinstance 判断,对象是否是某个类的实例
s = "haha"
r = isinstance(s, str) # 判断s是str的实例
print(r) # True
# filter() map()
# 需求:找出所有大于22的值
def f1(args)
result = []
for item in args:
if item > 22:
result.append(item)
return result
li = [11, 22, 33, 44, 55]
ret = f1(li)
print(ret)
等同于: 可做筛选
li = [11, 22, 33, 44, 55]
# filter(函数,可迭代的对象)
def f2(a):
if a>22:
return True
# li = [11, 22, 33, 44, 55]
# filter内部,循环第二个参数
# result = []
# for item in 第二个参数:
# r = 第一个参数(item)
# if r :
# result(item)
# return result
# filter ,循环循环第二个参数,让每个循环元素执行 函数,如果函数返回值True,表示元素合法
ret = filter(f2, li)
print(list(ret))
# filter,内部循环,参数比较
利用lambda表达式来实现上述功能:(自动return)
# lambda表达式 自动return
f1 = lambda a: a > 30
ret = f1(10)
print(ret) # 值为True,若不是lambda,则为None
li = [11, 22, 33, 44, 55]
result = filter(lambda a: a > 33, li)
print(list(result))
# map()
# map(函数,可迭代的对象(可以for循环的东西))实例:列表中每个元素加100
li = [11, 22, 33, 44, 55]
def f2(a):
return a + 100
result = map(f2, li)
print(list(result))
等同于:
li = [11, 22, 33, 44, 55]
result = map(lambda a: a + 200, li)
print(list(result))
# filter # 函数返回True,将元素添加到结果中
# map # 将函数返回值添加到结果中
#hash() # 将很长的字符串转换为哈希值,保存到内存中
#id() # 查看内存地址
# len() # 长度
s = "李杰"
print(len(s)) # python3中值为2,按照字符查找b = bytes(s, encoding='utf-8')
print(len(b)) # 按照字符查找
# pow() # 求指数
2**10 《==等同于==》pow(2, 10)
# reverse() # 反转
# round() # 四舍五入
r = round(1.4) # 结果为1
# sorted() # 排序
li = [11,2,1,1]
li.sort()
等同于:
sorted(li)
# zip() # 进行混合,同列进行组合,若同列有一个为空,同时舍弃
l1 = ["alex", 11, 22, 33]
l2 = ["is", 11, 22, 33]
l3 = ["haha", 11, 22, 33]
r = zip(l1, l2, l3)
temp = list(r)[0]
ret = ' '.join(temp)
print(ret) # 结果为:alex is haha