Python 2.4中的内联if语句

3

我正在将一个现有的Django项目部署到Dreamhost Web服务器上,目前已经成功地使所有内容正常工作。但是,我的开发环境是在Python 2.5下进行的,而Dreamhost默认使用Python 2.4。以下这行代码似乎因为if关键字而导致语法错误:

'parent': c.parent.pk if c.parent is not None else None
                       ^

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

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


我刚刚发现了这个页面 http://www.siafoo.net/article/52#selecting-values ,它解释了这个功能实际上是在Python 2.5中引入的,然而我的第二个问题仍然存在。 - Marcus Whybrow
2个回答

4

是的,这种行内if语句在4年前发布的2.5版本中被添加了。您可以像这样更新您的Dreamhost版本。


2

可以缩短为“c.parent或None”,但这会略微改变行为,因为现在它正在进行布尔测试,而不是非None测试。 - Gordon Wrigley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接