_
在python解释器中,当一个方法返回并且它没有被存储到一个变量时,它默认被放入变量中
In [10]: def foo(x):
....: return x
....:
In [11]: foo(1)
Out[11]: 1
In [12]: _
Out[12]: 1
In [13]: x = foo(2)
In [14]: _
Out[14]: 1
In [15]: x
Out[15]: 2
我想知道在进行比较语句时它是否也存储到另一个变量?像这样的东西
In [16]: if foo(2):
....: print <the returned value from foo>
....:
2
显然这不起作用,我必须做这样的事情
In [17]: returned_value_from_foo = foo(2)
In [18]: if returned_value_from_foo:
....: print returned_value_from_foo
....:
2