python中奇怪的变量设置

时间:2015-12-13 12:41:42

标签: python

我目前正在为django-rest-framework做教程 我注意到它有些奇怪,我不确定它是否特定于Django或整个Python。请看下面的代码:

linenos = self.linenos and 'table' or False

它看起来像条件​​指令的缩短版本,但该操作的名称是什么?我找不到任何具体的信息。

lineos是一个布尔变量。

2 个答案:

答案 0 :(得分:3)

一样阅读
linenos = (self.linenos and 'table') or False

如果'table'为真,则返回self.linenos,否则返回False,原因是和/和评估的方式。

在现代Python中,我们将使用三元表达式编写

linenos = 'table' if self.linenos else False

答案 1 :(得分:0)

这是三条件流 如果self.linenos为true,则将表格分配给linenos,否则为False
我们也可以为多个条件链接此流程
这与大多数其他语言的var = condition1?12:3类似