Python 2.4内联if语句

时间:2010-05-02 13:52:45

标签: python django dreamhost python-2.5 python-2.4

我正在dreamhost网络服务器上建立一个现有的django项目,到目前为止,我已经让一切都正常工作了。但是我在python 2.5下开发,而dreamhost默认使用python 2.4。由于if关键字:

,以下行似乎给出了语法错误
'parent': c.parent.pk if c.parent is not None else None
                       ^

是否在Python 2.5中引入了这种形式的if语句,如果有的话,是否有一个简单的改变可以使它与Python 2.4兼容?

或者,我应该改为Python 2.5。我已经将python 2.5安装到我的主目录下的目录中,并成功运行了2.5下的python解释器。如果我希望将Python 2.5用于所有内容,我可以在哪里设置它?

2 个答案:

答案 0 :(得分:4)

是的,这种内联是added with 2.5,差不多4年前发布的。您可以更新Dreamhost版本like this

答案 1 :(得分:2)

http://www.diveintopython.net/power_of_introspection/and_or.html

(1 and [a] or [b])[0]
'parent': (c.parent is not None and [c.parent.pk] else [None])[0]