sunyt 发表于 2021-10-14 14:14:21

求讲解python修饰符

本帖最后由 sunyt 于 2021-10-15 18:26 编辑


def log(func):
    def wrapper():
      print('log开始 ...')
      func()
      print('log结束 ...')
    return wrapper

@log
def test1():
    print('test1 ..')

def test2():
    print('test2 ..')

print(test1.__name__)
print(test2.__name__)



问题1:代码中@log是什么意思,有什么作用,如何理解。

问题2:test1.__name__中的__name__是什么意思,为什么会返回wrapper和test1。
(我的理解是__name__会返回你调用的模块的名称,如果没有调用,则返回__main__)

问题3:print('test1 ..')这条语句在什么情况下会被调用。

逃兵 发表于 2021-10-14 15:00:33

https://www.cnblogs.com/gdjlc/p/11182441.html

周小狄 发表于 2021-10-14 16:26:21

log应该是一种对数函数

sunyt 发表于 2021-10-15 19:06:22

逃兵 发表于 2021-10-14 15:00
https://www.cnblogs.com/gdjlc/p/11182441.html

我看的就是这篇文章啊,但是我看不懂才来提问的。。。{:7_138:}
页: [1]
查看完整版本: 求讲解python修饰符