Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中重载或重写的str()函数_Python_String - Fatal编程技术网

Python中重载或重写的str()函数

Python中重载或重写的str()函数,python,string,Python,String,救命啊,我加载了大数据,突然我的str()坏了。它不再是可调用的。我记得在某个时候,我做了一个类似str=something,现在我甚至不能再调用str(1),结果是: TypeError:“str”对象不可调用 调用str会导致' 因此,在这种情况下,无法重新启动解释器,是否仍有办法恢复旧的str(),以便将此数据写入文件?有几种方法可以重新获取内置的str: str = type("") 或: 举两个例子 实现相同效果的更“模糊”的方法: del str 这似乎是错误的,但在删除str

救命啊,我加载了大数据,突然我的
str()
坏了。它不再是可调用的。我记得在某个时候,我做了一个类似
str=something
,现在我甚至不能再调用
str(1)
,结果是:

TypeError:“str”对象不可调用

调用
str
会导致
'


因此,在这种情况下,无法重新启动解释器,是否仍有办法恢复旧的
str()
,以便将此数据写入文件?

有几种方法可以重新获取内置的
str

str = type("")
或:

举两个例子


实现相同效果的更“模糊”的方法:

del str
这似乎是错误的,但在删除
str
变量后,当您键入
str
时,它将在全局中搜索,然后在内置中搜索,从而实现与其他解决方案相同的效果:

>>> str = 1
>>> del str
>>> str(127)
'127'

事实上,这是完全恢复先前分配的唯一方法。如果将
str
重新分配到其原始值,则仍然使用局部/全局变量,而不是内置范围中使用的变量。但是,我想不出这种情况会有什么影响(除非它可能会在分配给局部变量时提高性能)。

如果需要,请调用

__builtin__.str

这将返回原始str命令。

\uuuu builtin\uuuu.str
@PavelAnossov中有原始str的引用。您能详细说明一下吗?您使用python3吗?忽略
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果您知道python首先查找局部变量,然后查找全局变量,然后查找内置变量,那么很容易找到如何还原像您这样的赋值。@wim我将其称为“晦涩”,因为您可能会惊讶地发现,在
del str
之后,您可以使用
str
,但实际上很明显:如何还原赋值?->
del
does就是要做到这一点,它也能正确处理这种特殊情况,恢复用户所做的分配,但不删除内置的。
__builtin__.str