我一直在 IPython shell 中完成SQLAlchemy ORM 教程password = Column(String)
,并且到了必须放入类定义的地步。奇怪的是,类定义一输入就终止了。
玩了一会儿之后,我发现任何以 , 开头的行pass
,return
或者raise
在类或函数定义中,例如
def f(x):
returnfoo = None
终止 IPython 中的定义。这在默认的 python 解释器中不会发生,所以这不是 python 问题。我认为这是 IPython 中的一个错误,但想确保它不仅仅是我的系统;任何人都可以验证这种行为吗?
编辑:我使用 IPython 0.11.dev 预装在 Mac OS X Snow Leopard 上的 Python 2.6。在 0.10.2 上,它实际上并没有终止函数/类定义——也没有
def f(x):
return
但它确实错误地重置了缩进,因此如果Enter再次按下,类定义将结束。