Discuss / Python / 有个疑问,有人能解释吗

有个疑问,有人能解释吗

Topic source

nstart0902

#1 Created at ... [Delete] [Delete and Lock User]

文中说@log相当于执行了now=log(now),而log(now)返回wrapper函数的引用,那么现在now指向了新的函数也就是wrapper,也就是now和wrapper的指向相同,但是now函数原来是指向自身函数的啊,这样的话等于改变了now函数的指向,那么now函数不会被销毁吗?我不明白,既然指向变了,为什么后面还能调用,原来的now变量,难道函数名now和变量now不是一个东西吗

akang2015

#2 Created at ... [Delete] [Delete and Lock User]

这里是个闭包嘛,log函数会持有now的一个引用(就是那个func),所以那个now的函数对象不会被销毁的


  • 1

Reply