python学习笔记-Day4
Posted Cool King
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记-Day4相关的知识,希望对你有一定的参考价值。
内置函数
# callable 对象是否可以被调用 def f2(): pass f3 = ‘xxx‘ print(callable(f2),callable(f3)) ==> True False # 函数可以被调用,字符串不可以被调用
# chr与ord # chr给一个索引位置,根据给的索引位置在ascii表中找到对应值 # ord反向chr过程,给定一个值,找到对应值在ascii表中的位置 r = chr(65) n = ord(‘A‘) print(r,n) ==> A 65
# compile 将字符串转换python执行代码 s = ‘print(123)‘ n = compile(s,‘<string>‘,‘exec‘) # 将字符串按照字符串格式编译成Python代码 print(n) ==> <code object <module> at 0x0000000000B454B0, file "<string>", line 1> # 编译完成后,并不是一个可直接读取的对象,那怎么让它去执行呢,请下边看 # exec 执行python代码,无返回值, 接收:python编译代码或字符串 exec(n) ==> 123 # 我们在上边编译并把值赋给n,这里我们将编译后n变量去exec执行,就会去print(123) # eval 执行表达式,有返回值,接收:表达式 ret = eval(‘1+2+3‘) print(ret) ==> 6 # 只接受表达式,相比exec好的地方是,他可以接收返回值
# divmod 取余数 r = divmod( 98, 10) # 取99/10的余数和运算值 n1,n2 = r print(n1,n2) ==> 9 8 # 99除10,得9余8
# filter 筛选 def f2(a): if a>22: return True lis = [11,22,33,44,55] ret = filter(f2,lis) # 传入条件函数,和可迭代的对象,用可迭代对象逐一去条件函数判断,为真则返回到ret(追加方式) print(list(ret)) ==> [33, 44, 55] # filter 筛选 与lambda表达式使用 ret = filter(lambda a:a>33, lis) print(list(ret)) ==> [44, 55]
# map 处理可迭代对象 lis = [11,22,33,44] f4 =lambda a: a+100 result = map(f4, lis) # 传入条件函数,将可迭代对象逐一去函数处理,将处理后结果返回result print(list(result)) ==> [111, 122, 133, 144] # 一目了然
# max min sum max([11,22,33]) # 传入可迭代,求最大值 min([11,22,33]) # 求最小值 sum([11,22,33]) # 求和
# pow 求次方 ret = pow(2,3) # 求2的3次方 print(ret) ==> 8
# reversed 翻转 # 将可迭代有序的序列翻转 li = [1,23,4,5,44,1,3] ret = reversed(li) print(list(ret)) ==> [3, 1, 44, 5, 4, 23, 1]
# zip 函数 l1 = [‘jack‘,‘19‘,‘qwwe‘] l2 = [‘eason‘,‘44‘,‘2weq‘] l3 = [‘eric‘,‘12‘,‘rew‘] r = zip(l1, l2, l3) print(list(r)) ==> [(‘jack‘, ‘eason‘, ‘eric‘), (‘19‘, ‘44‘, ‘12‘), (‘qwwe‘, ‘2weq‘, ‘rew‘)] # 会根据你的列表元素位置,将三个列表压缩成一个嵌套元祖的列表
random随机模块
# 我们可以通过上边内置函数chr可以让输入对应数字转换为字母 # 接下来就可以通过这个功能,实现一个随机验证码功能 import random li = [] # 定义一个空列表 for i in range(6): # 我的验证码长度 r = random.randrange(0,2) # 这里我们随机0或1作为真假,来进行下边判断,如果为真该位则为数字,否则则使用chr转为对应字母 if r: tmp = random.randrange(0, 10) li.append(str(tmp)) else: tmp = random.randrange(65, 91) # ascii表65-91为大写字母 c = chr(tmp) # 按照ascii找到对应字母 li.append(c) result = ‘‘.join(li) #将列表拼接为字符串 print(result) ==> 4R5NB0 # 字母加数字随机验证码组合
以上是关于python学习笔记-Day4的主要内容,如果未能解决你的问题,请参考以下文章