Vol*_*ity 30
第一步:将列表重新绑定为其他名称
lst = list
Run Code Online (Sandbox Code Playgroud)
第二步:删除list变量
del list
Run Code Online (Sandbox Code Playgroud)
第三步:不要再做了
我更喜欢这个,__builtins__.list因为它可以节省输入,而且你还没有留下名为的变量list.但是,最好完全避免这个问题.在编写生产代码时,请记住不要将变量命名为与内置函数相同的变量.
Mar*_*ers 28
使用__builtins__.list或__builtins__['__list__'](取决于上下文),或简单地list再次删除(del list).
不需要进口:
>>> __builtins__.list
<type 'list'>
Run Code Online (Sandbox Code Playgroud)
存在的__builtins__是CPython实现细节; 在__main__模块中它是一个模块,在其他任何地方它都是模块__dict__字典.Jython,IronPython和PyPy可能会选择不提供此功能.将__builtin__模块用于这些平台,或者用于兼容Python 3的builtins模块:
>>> import __builtin__
>>> __builtin__.list
<type 'list'>
Run Code Online (Sandbox Code Playgroud)
不要使用内置函数或类型作为变量名.就这么简单,语言不是那个意思.这样做没有任何意义.
不仅如此 - 但使用名称"list"列表是非常模糊的,我怀疑它甚至可以在任何实际代码中远程使用.
还有,为什么你应该有几个原因不是 曾经阴影内置.下面是一些比较严重的问题: