在python中使用print作为变量名

Alb*_*bin 4 python

在遵循python教程的同时,我知道我们可以使用print作为变量名,并且它工作正常.但在分配打印变量后,我们如何取回原始打印功能?

>>> print("Hello World!!")
Hello World!!!
>>> print = 5
>>> print("Hi")
Run Code Online (Sandbox Code Playgroud)

现在,最后一次调用给出了错误TypeError:'int'对象不可调用,因为现在print的整数值为5.

但是,我们现在如何取回打印的原始功能?我们应该使用类名作为打印功能吗?如,SomeClass.print("Hi")

提前致谢.

Tim*_*ker 18

>>> print = 5
>>> print = __builtins__.print
>>> print("hello")
hello
Run Code Online (Sandbox Code Playgroud)

  • @stRIker:它是CPython的实现细节.您也可以使用[`builtins`模块](http://docs.python.org/3/library/builtins.html). (6认同)
  • 哇.我错了:p.+1因为我从来都不知道这一点 (3认同)

Ter*_*ryA 7

您实际上可以删除该变量,以便内置函数再次起作用:

>>> print = 5
>>> print('cabbage')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> del print
>>> print('cabbage')
cabbage
Run Code Online (Sandbox Code Playgroud)


Rez*_*imi 5

如果你想用作临时方式,那么就这样做,但之后,将print函数应用于print变量:

print = __builtins__.print
Run Code Online (Sandbox Code Playgroud)