函数-装饰器基础知识+推导式
装饰器: 在不改变原函数代码基础上,为原函数扩展功能不带参数的装饰器
装饰器格式:
##装饰器的编写(函数的嵌套,外城函数返回内城函数):
def wrapper (funk):
def inner (*args,**kwags):
#自定义共能,根据功能在funk函数执行前后展现对应将其放在funk()前后
pass(自定义功能)
data = funk(*args,**kwargs)
return data#调用被装饰的函数并返回其值
#若是return funk 是返回funk代指的函数
return inner
##装饰器的使用:
@wrapper#@外层函数
def index(*args,**kwargs):
pass
index()
@wrapper:1.执行wrapper函数以index函数为参数(即func指向index):wrapper(index)
2.执行完外城函数后将内城函数返回,赋值给index变量,此时index不在指向原先指向的函数,而是指向内层函数
带参数的装饰器
推导式:
列表推导式: v = 中间没有用逗号隔开 eg:v =
v = if条件满足加到列表中 eg: v =
面试题1:
v =
v(2)
print(v)#v列表里面放着10个匿名函数,没有被执行且i循环完后为9
print(v(2))#执行匿名函数且参数x = 2>>>18
面试题2:
def num():
return
v = #调用num得到含有匿名函数的列表且i=3,for循环此列表,m(2)作为列表v的元素
print(v)>>> 集合推导式: v = {for循环中的变量 for循环一个可迭代对象} 得到一个集合
列表推导式: v = {"k" + str(i) : i for i in range(10)} #“k"+str(i) 是字符串的拼接 #注意集合,字典中不是所有数据类型都能作其元素
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]