weixin_44175133
入戏三分丶
2019-04-03 15:14

关于Python中@的用法需要大神来解释下

  • python

函数1
def Typed(**kwargs):
def wrappers(obj):
print("=======>")
for key,val in kwargs.items():
setattr(obj,key,val)
return obj
print("---->")
return wrappers
@Typed(x=2)
def Text():
pass

函数2
def Typed2(func):
def wrappers():
print("=======>")
func()
# return res
print("---->")
return wrappers
@Typed2
def Text2():
pass

函数3
def foo(**kwargs):
pass
1、同时运行两个函数,为什么第一个函数里面的wrappers函数会执行,第二个里面的函数不会执行。
2、为什么第一个函数**kwargs是必须值,第三个函数的**kwargs不是必须的。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答