一般情况下
如果不用decorator,也可以这样表达
subject_matter_function = outer_decorator(inner_decorator(subject_matter_function())))
abcd = subject_matter_function()
所以问题下方代码注释里
```python
def big_container(collective_material):
def wrapper(our_function):
def internal_wrapper(*args):
our_function(*args)
print('<strong>*</strong> The whole order would be from {} packed with {}'.format(our_function.__name__, collective_material)) #这里的our_function.__name__为什么不显示warehouse_decorator,而显示 internal_wrapper,能否解释一下
print()
return internal_wrapper
return wrapper
def warehouse_decorator(material):
def wrapper(our_function):
def internal_wrapper(*args):
our_function(*args)
print('<strong>*</strong> Wrapping items from {} with {}'.format(our_function.__name__, material))
#这里的our_function.__name__就显示pac_books
return internal_wrapper
return wrapper
@big_container('plain cardboard')
@warehouse_decorator('bubble foil')
def pack_books(*args):
print("We'll pack books:", args)
pack_books('Alice in Wonderland', 'Winnie the Pooh')
```