我刚刚查看了这个非常有趣的思维导图:
http://www.mindmeister.com/10510492/python-underscore
我想知道一些新的意义,例如__code__
和__closure__
。我在谷歌上搜索了一下,但没有得到确切的答案。有人知道吗?
我刚刚查看了这个非常有趣的思维导图:
http://www.mindmeister.com/10510492/python-underscore
我想知道一些新的意义,例如__code__
和__closure__
。我在谷歌上搜索了一下,但没有得到确切的答案。有人知道吗?
名为func_X
的函数属性已重命名为使用__X__
形式,从而释放这些名称在函数属性命名空间中供用户定义的属性使用。即,func_closure
,func_code
,func_defaults
,func_dict
,func_doc
,func_globals
,func_name
分别重命名为__closure__
,__code__
,__defaults__
,__dict__
,__doc__
,__globals__
,__name__
。
基本上,与Python 2相同的东西,但有了新颖的Python 3000名称。
您可以在PEP 232中了解更多信息。
实际上,在CPython 2.x中,您也有类似的领域:
>>> first = lambda x: lambda y: x
>>> f = first(2)
>>> type(f.func_code)
<type 'code'>
>>> map(type, f.func_closure)
[<type 'cell'>]
编辑:有关这些结构的含义的更多细节,请阅读Python参考手册中“用户定义函数”和“代码对象”一章数据模型的解释。
他们曾经被称为
func_closure (now __closure__), func_code (now __code__)
(这应该有助于Google搜索)。
以下是这里的简短解释。