-9
A
回答
0
装饰器接受函数定义并创建一个新函数,该函数执行此函数并转换结果。
@deco
def do():
...
等同于:
do = deco(do)
例子:
def deco(func):
def inner(letter):
return func(letter).upper() #upper
return inner # return a function object
#This
@deco
def do(number):
return chr(number) # number to letter
#end
# is equivalent to this
def do2(number):
return chr(number)
do2 = deco(do2)
#end
# 65 <=> 'a'
print(do(65))
print(do2(65))
>>> B
>>> B
要了解装饰,但要注意的是重要的,那装饰创造了一个新的功能做这是内部执行func并转换结果LT。
5
def spam(func):
def wrapped(*args, **kwargs):
print "SPAM"
return func(*args, **kwargs)
return wrapped
@spam #this is the same as doing eggs = spam(eggs)
def eggs():
print "Eggs?"
注意,您还可以使用类来写装饰
class Spam(object):
def __init__(self, func):
self.func = func
def __repr__(self):
return repr(self.func)
def __call__(self, *args, **kwargs):
print "SPAM"
return self.func(*args, **kwargs)
@Spam
def something():
pass
相关问题
- 1. Python:创建一个函数装饰器,用于记忆一个函数
- 2. 为什么python装饰器函数嵌套一个函数?
- 3. 这是一个函数装饰器?
- 4. 将一个装饰器列表应用于可调用?
- 5. 将装饰器应用于python包中的所有函数
- 6. Python - 如何创建一个带参数的新装饰函数?
- 7. 如何用python类的参数创建一个装饰器函数?
- 8. 如何创建一个可以包装协程或函数的Python装饰器?
- 9. 如何定义一个装饰,将一个函数/方法调用
- 10. 检查一个Python函数是否用特定的修饰器装饰
- 11. 如何在一个你不能访问的函数上使用python装饰器?
- 12. 如何将两个装饰器应用于视图
- 13. 如何将装饰器应用于每个烧瓶视图
- 14. 如何测试Python函数装饰器?
- 15. 在一个类中调用一个Python装饰器
- 16. 如何将一个函数变量用于另一个函数?
- 17. 将一个装饰器附加到一个类中的所有函数中
- 18. 如何将Flask-RESTPlus的装饰器用于每个函数调用?
- 19. 如何将一个类参数传递给装饰器?
- 20. 如何“装饰”一个Angular Schema Form装饰器?
- 21. 如何测试一个函数是用装饰器包装的(javascript)
- 22. Python装饰器计数函数调用
- 23. 编写一个装饰器,以便为类的所有方法应用另一个装饰器参数
- 24. python:通过将装饰器定义为类来装饰一个类
- 25. 如何将这两个类装饰器与functools.update_wrapper一起使用?
- 26. 如何将一个函数应用于一组元素
- 27. julia lang - 如何将多个函数应用于一个值
- 28. 哪些行一个函数在Python装饰
- 29. 多个python装饰器
- 30. 装饰器它返回一个函数并接受一个参数
这里的教程中,我写道:https://www.codementor.io/python/tutorial/introduction-to-decorators – Sheena 2015-03-25 09:04:50