为了账号安全,请及时绑定邮箱和手机立即绑定

python装饰器

难度初级
时长43分
学习人数
综合评分9.67
219人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰

最新回答 / 高山之蓝
你说的是应该是外部函数my_sum作为一个变量写入in_dec函数成为它的属性。每次调用都会先按程序顺序进行判断,到return才是调用外部求和函数,而这个外部函数已经存在in_dec中,会直接取用外部函数的。每次调用的外部函数是不变的(作为元组写在函数里面)-。-

最赞回答 / abbby
是的,执行 "func_100=set_passline(60)"的时候, 把60赋给set_passline函数的变量passline,在且内部函数cmp引用了外部变量passline,此时cmp.__closure__加上了passline变量的地址。执行完set_passline将cmp函数的地址赋给func_100, 所以func_100实际上就是内部函数cmp

最新回答 / 慕娘3990856
SublimeCodeIntel 可以支持代码的自动补全以及成员/方法提示等功能。 可以自行搜一下,更全面点。

最新回答 / huohuohuo123
print 格式化输出,如:print ("His name is %s"%("Aviad"))      输出结果:His name is  Aviad

最新回答 / 波阿斯
val值存放到cmp的函数属性中,再次调用的时候直接查找cmp的__closure__就可以

最新回答 / 一身喧哗
max()函数是Python的自定义函数,可以直接使用的,当使用的变量在局部、全局、还有enclosing域都找不到时,就去最远的模块里找了

最新回答 / 慕移动9181930
怎么理解啊,新手sqdjfjaikncgmgokqetixgqaqpxbvzpprxnlpeymghycqiubevrqrzdurqmomj

最赞回答 / haoming
python解释器在解引用一个变量时遵循所谓‘legb’原则。 即,首先在local即局部作用域中查找变量声明和值,如果没有找到,在函数的__closure__属性中查找变量(只有闭包函数要考虑)即enclosing,如果还没有找到则在全局作用域中查找变量即global,如果还是没有找到则在built-in的变量中查找,也就是python的关键字和默认的全局函数(e.g. list tuple open print)

最新回答 / 慕仔5709288
装饰器存在的目的是为本来要进行的函数(sum,average)进行包装,包装的意思一方面是多进行一些操作,另一方面是对一些函数具有想同逻辑的进行抽象,如果没有return操作,那就是包装袋里没有实物,就失去了本来的意义

最新回答 / 朱青1900
https://blog.csdn.net/u014465934/article/details/72810763可以看看
课程须知
您至少具备Python基础知识
老师告诉你能学到什么?
1.函数作用域及关系。 2.闭包的使用。 3.装饰器的概念及使用。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消