内置函数和装饰器
内置函数补充
callable() #检测一个东西能否被调用
deff1():passf2=123print(callable(f1))print(callable(f2))
# chr() 数字转化成字母
# ord() 字母转化成数字
r=chr(65)print(r)n=ord("a")print(n)
#随机码 65到90
importrandomli=[]forninrange(6):r=random.randrange(0,5)ifr==2orr==4:num=random.randrange(0,10)li.append(str(num))else:i=random.randrange(65,91)c=chr(i)li.append(c)result="".join(li)print(result)
#Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串,不同数据类型拼接会失败
# compile() #把字符串编译成python代码
# eval() #执行,接收:表达式,并且获取结果 有返回值
# exec() #执行python代码,接收:代码或者字符串 没有返回值
s = "print(123)"
#编译
r = compile(s,"<string>","exec")
#执行
exec(r)
m="8*8"ret=eval(m)print(ret)
#dir()用来快速获取模块,对象,类提供了哪些功能 不详细
# print(dir(dict))
#help(list)查看帮助,详细
divmod()
共97条,每页显示10条,需要多少页
#r=divmod(97,10)#print(r[0])#print(r[1])#n1,n2=divmod(97,10)
isinstance()#用来判断某个对象是否是某个类的实例
s="alex"r1=isinstance(s,dict)r2=isinstance(s,str)print(r1,r2)
#filter
#deff1(args):#result=[]#foriteminargs:#ifitem>22:#result.append(item)#returnresult#li=[11,22,33,44,55]#ret=f1(li)#print(ret)#filter(函数,可迭代的对象)deff2(a):ifa>22:returnTrueli=[11,22,33,44,55]ret=filter(f2,li)print(list(ret))##filter内部,循环第二个参数#result=[]#foritemin第二个参数:#r=第一个参数(item)#ifr:#result(item)#returnresult#filter,循环第二个参数,让每个循环元素执行函数,如果函数返回值True,表示元素合法li2=[11,22,33,44,55]result=filter(lambdaa:a>33,li2)print(list(result))
#map(函数,可迭代的对象)
li=[11,22,33,44,55]deff1(args):result=[]foriinargs:result.append(100+i)returnresultr=f1(li)print(r)deff2(a):returna+100#result=map(f2,li)result=map(lambdaa:a+100,li)print(list(result))
#区别
#filter 函数返回True,将元素添加到结果中
#map 将函数返回值添加到结果中
#globals,locals
NAME="wangxin"defshow():a=123c=123print(locals())print(globals())show()
#hash() 一般python内部使用,知道
s = "sadfsadfsadf"
print(hash(s))
#id()查看内存地址
#len()
s = "无馨"
print(len(s)) #python3默认按照字符、也可以转化成字节查看,python2只能以字节方式查看
b = bytes(s.encoding='utf-8')
print(len(b))
#max,min,sum
r1 = max([11,22,33,44])
r2 = min([11,22,33,44])
r3 = sum([11,22,33,44])
#pow()
# 2**10
# r = pow(2,10)
# print(r)
#repr(),使用时会去调用这个对象的类里面的repr方法
#reversed,反转,同列表的反转
#round 四舍五入
#slice 和切片功能一样
# s = "wangyuehan"
# print(s[0:2])
#sorted 排序,和列表排序一样
#zip 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
l1=["likai",11,22]l2=["is",11,22]l3=["sb",11,22,33]r=zip(l1,l2,l3)temp=list(r)[0]ret=''.join(temp)print(ret)
装饰器
#!/usr/bin/envpython#-*-coding:utf-8-*-imports2ret=s2.f1("fafafa")print("返回值",ret)s2.f2(11,22)
#!/usr/bin/envpython#-*-coding:utf-8-*-defouter(func):definner(*args,**kwargs):print('before')r=func(*args,**kwargs)print("after")returnrreturninner#@+函数名#功能#1.自动执行outer函数并且将其下面的函数名f1当作参数传递#2.将outer函数的返回值,重新赋值给f1@outerdeff1(arg):print(arg)return"哈哈"@outerdeff2(a1,a2):print("F2")
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。