如何在Python中创建两个装饰器来执行以下操作?
@makebold
@makeitalic
def say():
return "Hello"
Run Code Online (Sandbox Code Playgroud)
...应该返回:
"<b><i>Hello</i></b>"
Run Code Online (Sandbox Code Playgroud)
我不是试图HTML在一个真实的应用程序中这样做 - 只是试图了解装饰器和装饰器链是如何工作的.
究竟是什么*args和**kwargs意味着什么呢?
根据Python文档,从它看来,它传递了一个参数元组.
def foo(hello, *args):
print hello
for each in args:
print each
if __name__ == '__main__':
foo("LOVE", ["lol", "lololol"])
Run Code Online (Sandbox Code Playgroud)
打印出:
LOVE
['lol', 'lololol']
Run Code Online (Sandbox Code Playgroud)
你如何有效地使用它们?