有人可以解释第二次运行中发生的事情吗?当代码出错时,为什么我得到9的流?
>>> for __ in range(10): #first run
... print(__)
...
0
1
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
这是第二轮
>>> for __ in range(10): #second run
... print(_)
...
9
9
9
9
9
9
9
9
9
9
>>> exit()
Run Code Online (Sandbox Code Playgroud)
在此之后,当我第三次运行代码时,相同的代码按预期执行并给出以下错误.我意识到这个问题没有实际用处.但是,我真的想知道它为什么会发生?
NameError: name '_' is not defined
Run Code Online (Sandbox Code Playgroud)
该_变量在Python解释器中设置,始终保持None已运行的任何表达式语句的最后一个非结果.
特殊标识符
_在交互式解释器中用于存储上次评估的结果; 它存储在builtins模块中.
如果值不是
None,则此功能将打印repr(value)到sys.stdout并保存值builtins._.sys.displayhook调用在交互式Python会话中输入的表达式的结果调用[...] .
在这里,结果是9,您必须在共享的代码之前运行表达式.
该NameError指示您重新启动Python解释器,也没有运行一个表达式语句但所产生的非None值:
>>> _
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '_' is not defined
>>> 3 * 3
9
>>> _
9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |