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‘]---->BDFprint(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表达式 自动returnf1 = 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
时间: 2024-12-28 16:11:28