如何修复str的重新定义?

J0e3gan

在尝试使用Python解释器时,我不经意地将一个字符串分配给str如下:

str = 'whatever'

在同一会话的稍后部分,我输入了另一个声明,并呼叫str(),例如...

double_whatever = str(2) + ' * whatever'

...,并得到了错误TypeError: 'str' object is not callable(而不是预期的输出'2 * whatever')。一个相关的SO答案有助于我快速发现自己犯的错误。

但是,我仍不清楚如何str()在受影响的会话中修复对的呼叫当然,我可以退出Python解释器并开始另一个会话,但是我很好奇如何避免这种情况。

到目前为止,我已经确认...

double_whatever = __builtins__.str(2) + ' * whatever'  # => '2 * whatever'

...仍然可以像我想要的那样工作;但我不清楚如何重新获得不需要的__builtins__.资格。

如何解决我的无用定义,str使我str()在Python解释器会话中的调用再次起作用?

ator

只需删除您的覆盖str

del str

阅读http://www.diveintopython.net/html_processing/locals_and_globals.html,以获取有关Python如何为您找到变量的说明。

基本思想是,首先搜索定义变量的名称空间,因此,如果定义名称为的变量,则该名称空间strbuilt-in被覆盖。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何修复:属性 xmlns:gco 重新定义

来自分类Dev

修复C ++中的宏重新定义

来自分类Dev

如何全局重新定义LUA功能

来自分类Dev

如何防止重新定义班级?

来自分类Dev

如何重新定义C ++指针函数?

来自分类Dev

如何自行更改/重新定义功能

来自分类Dev

Rails:如何重新定义类

来自分类Dev

如何使用OpenCv模糊重新定义

来自分类Dev

如何从原型重新定义属性?

来自分类Dev

如何全局重新定义LUA功能

来自分类Dev

如何重新定义 YYSTYPE 正常工作?

来自分类Dev

不确定我在哪里重新定义 str 变量

来自分类Dev

重新定义承诺

来自分类Dev

重新定义矩阵的%in%

来自分类Dev

如何根据旧定义重新定义bash函数?

来自分类Dev

标准C ++ assert()如何工作,如何重新定义它?

来自分类Dev

如何防止在YAML中重新定义键?

来自分类Dev

如何识别重新定义的变量或阴影变量

来自分类Dev

GCC如何处理变量重新定义

来自分类Dev

如何在特定应用中重新定义框架常量?

来自分类Dev

如何不重新定义JavaScript中的变量

来自分类Dev

如何重新定义Powershell模块导出的功能

来自分类Dev

Java。如何重新定义MediaPlayer实例的onCompletion方法

来自分类Dev

如何为WPF用户控件重新定义FocusVisualStyle

来自分类Dev

如何重新定义计划/球拍的基本形式?

来自分类Dev

如何解决C ++错误:“类”的重新定义

来自分类Dev

如何不重新定义JavaScript中的变量

来自分类Dev

如何在SBT中重新定义密钥?

来自分类Dev

如何在C ++中重新定义类对象