与内置功能的命名冲突

发布于 2021-01-29 15:02:09

我犯了如下错误:

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

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

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

关注者
0
被浏览
89
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看