小编典典

与内置功能的命名冲突

python

我犯了如下错误:

>>> list = ['a', 'b', 'c']

但是现在我想使用内置函数list()。如您所见,listnamelist和内置函数之间存在命名冲突list()

如何list在不重新启动Python Shell的情况下将变量作为内置函数使用?


阅读 179

收藏
2021-01-20

共1个答案

小编典典

使用__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'>
2021-01-20