首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量赋值给最后执行的行?

变量赋值给最后执行的行?
EN

Stack Overflow用户
提问于 2012-01-31 09:24:35
回答 4查看 5.4K关注 0票数 6

我刚刚在Python解释器中发现了一些奇怪的东西。让我展示给你看:

代码语言:javascript
复制
$ 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'>

您可以在您的解释器中尝试此操作;这里没有任何技巧!

是将最后执行的行赋给名为_的变量的结果

有人知道这件事吗?有关于它的文档吗?在什么情况下它会有用呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-31 09:32:44

看看这里,Reserved identifiers python

在交互式解释器中使用特殊标识符_来存储上次求值的结果;它存储在内置的模块中。

这种行为也可以在haskell的交互环境ghci上找到。这里使用it而不是_

代码语言:javascript
复制
Prelude> 2+2
4
Prelude> it
4
票数 9
EN

Stack Overflow用户

发布于 2012-01-31 09:36:45

当你在交互式解释器中探索时,它很有用,当你忘记给一些返回的对象指定名称时,你可以使用x = _抓取对它的引用。注意,在ipython中,返回的倒数第二个返回的值也是_____是倒数第三个返回的值。

票数 3
EN

Stack Overflow用户

发布于 2012-01-31 09:35:46

这不是一个大秘密(例如,您可以在Code Like a Pythonista中找到它),但事实是,它并不广为人知。当您在命令行中执行大量工作时,它可能会很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9073273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档