python 3 函数对象与闭包使用入门

2025-05-22 14:19:47

1、首先,函数在p鲻戟缒男ython中可以像变量一样生成,传递,赋值。函数可以嵌套定义,像变量一样有作用域。函数对象有一些属性,比如:__doc__可以查看函数注释,__annotations__可以查看类型标注,__code__可以获取code对象(可用dis查看反汇编),__closure__可以查看闭包。

python 3 函数对象与闭包使用入门

2、如图是一个嵌套的函数定义,且内层函数读取了外层函数中的x。可以看到__closure__闭包中存在一个Cell Variable,它就是对x的引用。

python 3 函数对象与闭包使用入门

4、有一种work around是使用eval函数,将当前y值转化为字符串,再将整个字符串eval。但这不是一种安全的做法。

python 3 函数对象与闭包使用入门

6、同理,嵌套函数的声明当中,如果闭包中的变量是常数,也可以用默认参数代替。

python 3 函数对象与闭包使用入门
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢