与内置功能的命名冲突
我犯了如下错误:
>>> list = ['a', 'b', 'c']
但是现在我想使用内置函数list()
。如您所见,listnamelist
和内置函数之间存在命名冲突list()
。
如何list
在不重新启动Python Shell的情况下将变量作为内置函数使用?
-
使用
__builtins__.list
或__builtins__['__list__']
(取决于上下文),或list
再次简单地删除(del list
)。无需进口:
>>> __builtins__.list <type 'list'>
存在
__builtins__
是CPython实现细节;在__main__
模块中,它是一个模块,在其他任何地方,它都是模块__dict__
字典。Jython,IronPython和PyPy可能选择完全不提供此功能。使用适用于那些平台的__builtin__
模块,或适用于Python
3兼容实现的builtins
模块:>>> import __builtin__ >>> __builtin__.list <type 'list'>