我刚开始研究Python并需要帮助.
在壳中我做了
>>> print = 1
Run Code Online (Sandbox Code Playgroud)
现在,当我试图打印任何类似的东西
>>> print ("hello")
Run Code Online (Sandbox Code Playgroud)
我得到了"TypeError: 'int' object is not callable,显然是因为现在打印一个int
我能够弄清楚,如果我重新启动shell,打印开始再次正常工作.
我想知道如何print将其重置为原始状态,即打印到控制台而不重新启动shell?
Mar*_*ers 10
您创建了一个掩盖内置名称的全局.使用del删除新的全球; 然后Python会再次找到内置函数:
del print
Run Code Online (Sandbox Code Playgroud)
Python print通过当前作用域查找(在包含本地和任何父作用域的函数中),然后是全局变量,然后是内置命名空间,而后者是print()函数所在的后者.
您已print通过创建具有相同名称的变量来"屏蔽"内置函数.你可以做三件事之一:
builtins.print函数.对于最后一个选项,您需要import builtins.
>>> print = 1
>>> print("Hello")
>>> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> import builtins
>>> dir(builtins)
>>> ['ArithmeticError', 'AssertionError', 'AttributeError',
...
'print',
...
'tuple', 'type', 'vars', 'zip']
>>> print=builtins.print
>>> print("Hello")
>>> Hello
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |