我set在交互式python会话中将其用作变量名而意外覆盖了-有什么方法可以使我能够访问原始set功能,而无需重新启动会话?(在那届会议上我有很多东西,我宁愿不必这样做,尽管当然可以,如果需要的话。)
3 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
只需删除掩盖内建函数的名称即可:
>>> set = 'oops'
>>> set
'oops'
>>> del set
>>> set
<type 'set'>
您仍然可以始终通过builtins 模块访问原始的内置模块(__builtin__在Python 2上,带下划线和no s);如果您要覆盖内置功能,但又想从覆盖功能中恢复到原始状态,请使用此命令:
>>> import builtins
>>> builtins.set
<type 'set'>
如果在定位掩码名称的位置时遇到麻烦,请检查从当前名称空间到内置名称空间的所有名称空间;否则,请执行以下操作。请参阅作用域规则的简短说明?适用于您当前情况的范围。
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
要使用内置包装器,请先在一个变量中分配其原始地址,例如X
工作完成后,将其设置为None
,然后将原始地址重新设置为内置函数。
例子
X= __builtin__.isinstance
__builtin__.isinstance = myininstance
工作完成了
__builtin__.isinstance=None
__builtin__.isinstance=X
添加回答
举报
0/150
提交
取消