相关疑难解决方法(0)

570
推荐指数
5
解决办法
24万
查看次数

在Python/IPython解释器中为单个下划线_赋值

我在Python 2.7中创建了这个函数ipython:

def _(v):
    return v
Run Code Online (Sandbox Code Playgroud)

以后,如果我打电话_(somevalue),我会_ = somevalue.

in[3]: _(3)
out[3]: 3
in[4]: print _
out[4]: 3
Run Code Online (Sandbox Code Playgroud)

功能消失了!如果我打电话给_(4)我:

TypeError: 'int' object is not callable`
Run Code Online (Sandbox Code Playgroud)

为什么?这个功能出了什么问题?

python interpreter function ipython read-eval-print-loop

68
推荐指数
2
解决办法
2894
查看次数

单个下划线"_"是Python中的内置变量吗?

我不明白这个单一的下划线意味着什么.这是一个神奇的变量吗?我无法在locals()和globals()中看到它.

>>> 'abc'
'abc'
>>> len(_)
3
>>> 
Run Code Online (Sandbox Code Playgroud)

python

34
推荐指数
2
解决办法
4999
查看次数

为什么在Python解释器中输入_会返回True?

我得到了非常奇怪的解释器行为:

>>> _
True
>>> type(True)
<class 'bool'>
>>> type(_)
<class 'bool'>
Run Code Online (Sandbox Code Playgroud)

我尝试过这个因为_在Bpython中出现了一个建议,但它似乎也适用于普通的解释器.我在用

Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么_是True的替代品吗?是遗产,类似于";" 可以用来结束命令,但是没有必要/鼓励?

编辑:这似乎是随机的.这不会发生在一个新的终端,但一旦我开始工作,_开始成为现实.这到底是怎么回事?

python interpreter

2
推荐指数
1
解决办法
215
查看次数