我刚刚在Python解释器中发现了一些奇怪的东西。让我展示给你看:
$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> _
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '_' is not defined
>>> 5 + 4
9
>>> _
9
>>> 'Hello world'
'Hello world'
>>> _
'Hello world'
>>> type(3.5)
<type 'float'>
>>> _
<type 'float'>您可以在您的解释器中尝试此操作;这里没有任何技巧!
是将最后执行的行赋给名为_的变量的结果
有人知道这件事吗?有关于它的文档吗?在什么情况下它会有用呢?
发布于 2012-01-31 09:32:44
看看这里,Reserved identifiers python。
在交互式解释器中使用特殊标识符_来存储上次求值的结果;它存储在内置的模块中。
这种行为也可以在haskell的交互环境ghci上找到。这里使用it而不是_。
Prelude> 2+2
4
Prelude> it
4发布于 2012-01-31 09:36:45
当你在交互式解释器中探索时,它很有用,当你忘记给一些返回的对象指定名称时,你可以使用x = _抓取对它的引用。注意,在ipython中,返回的倒数第二个返回的值也是__,___是倒数第三个返回的值。
发布于 2012-01-31 09:35:46
这不是一个大秘密(例如,您可以在Code Like a Pythonista中找到它),但事实是,它并不广为人知。当您在命令行中执行大量工作时,它可能会很有用。
https://stackoverflow.com/questions/9073273
复制相似问题