IPython奇怪的行为:变量名中的“通过”,“返回”或“提高”会终止函数/类定义

| 我一直在IPython Shell中研究SQLAlchemy ORM教程,直到必须在类定义中添加“ 0”的地步。奇怪的是,类定义在我输入后就终止了。 玩了一段时间后,我发现在类或函数定义中以
pass
return
raise
开头的任何行,例如
def f(x):
    returnfoo = None
终止IPython中的定义。在默认的python解释器中不会发生这种情况,因此这不是python问题。我以为这是IPython中的错误,但想确保它不仅仅是我的系统;谁能验证这种行为? 编辑:我使用的是Mac OS X Snow Leopard上预安装的Python 2.6的IPython 0.11.dev。在0.10.2上,它实际上并没有终止函数/类定义-也没有终止
def f(x):
    return
但是它确实错误地重置了缩进,因此,如果再次按Enter键,则类定义将结束。     
已邀请:
        在我的系统上,这种方式不起作用。
In [1]: def f(x):
   ...:     returnfoo = None
   ...:     return returnfoo
   ...: 
我的版本:
$ ipython -V
0.10.2
    
        没有这个问题:
>>> def f(x):
    returnfoo = None
    return x
...: 

>>> f(1)
<<< 1
    

要回复问题请先登录注册