Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #73580
| X-Received | by 10.66.142.9 with SMTP id rs9mr4656965pab.47.1403709635416; Wed, 25 Jun 2014 08:20:35 -0700 (PDT) |
|---|---|
| X-Received | by 10.140.108.66 with SMTP id i60mr12836qgf.39.1403709635360; Wed, 25 Jun 2014 08:20:35 -0700 (PDT) |
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!uq10no9677086igb.0!news-out.google.com!q9ni7qaj.0!nntp.google.com!i13no347905qae.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail |
| Newsgroups | comp.lang.python |
| Date | Wed, 25 Jun 2014 08:20:35 -0700 (PDT) |
| Complaints-To | groups-abuse@google.com |
| Injection-Info | glegroupsg2000goo.googlegroups.com; posting-host=82.245.68.143; posting-account=J_U-0woAAACrUCMCI_QdLAKny8A2zeDX |
| NNTP-Posting-Host | 82.245.68.143 |
| User-Agent | G2/1.0 |
| MIME-Version | 1.0 |
| Message-ID | <3db49432-3133-414f-9c44-ebb595a7ae8f@googlegroups.com> (permalink) |
| Subject | Single underscore in interactive mode |
| From | candide <c.candide@laposte.net> |
| Injection-Date | Wed, 25 Jun 2014 15:20:35 +0000 |
| Content-Type | text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding | quoted-printable |
| Xref | csiph.com comp.lang.python:73580 |
Show key headers only | View raw
According to the official documentation (The Python Language Reference, Release 3.2):
-----------------------------------
The special identifier _ is used in the interactive interpreter to
store the result of the last evaluation;
-----------------------------------
This description is not very specific. Which evaluation is it about ? Consider the following interactive mode session:
>>> z = 42 + 1
>>> _
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
_
NameError: name '_' is not defined
>>>
As explained by the docs, an assignment statement _evaluates_ the expression on the right hand side. So we can deduce that at the very beginning of the 2nd prompt, "the result of the last evaluation" is 43. Nevertheless, calling _ raises a NameError exception!
In fact it seems that underscore returns the value of the last expression statement which is different from None :
>>> 4*10+2
42
>>> _
42
>>> "hello"
'hello'
>>> _
'hello'
>>> print(42)
42
>>> _
'hello'
>>> None
>>> _
'hello'
>>>
Can somebody provide a correct specification of the _ identifier in interactive mode ?
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Single underscore in interactive mode candide <c.candide@laposte.net> - 2014-06-25 08:20 -0700
Re: Single underscore in interactive mode Robert Kern <robert.kern@gmail.com> - 2014-06-25 18:53 +0100
Re: Single underscore in interactive mode Terry Reedy <tjreedy@udel.edu> - 2014-06-25 14:30 -0400
Re: Single underscore in interactive mode candide <c.candide@laposte.net> - 2014-06-25 12:39 -0700
Re: Single underscore in interactive mode Lie Ryan <lie.1296@gmail.com> - 2014-06-25 19:57 +0100
Re: Single underscore in interactive mode Dave Angel <davea@davea.name> - 2014-06-25 17:56 -0400
csiph-web