繁体   English   中英

Python中的怪异变量设置

[英]Weird variable setting in python

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

linenos = self.linenos and 'table' or False

它看起来像是条件指令的简化版本,但是该操作的名称是什么? 我找不到有关它的任何特定信息。

lineos是一个布尔变量。

阅读像

linenos = (self.linenos and 'table') or False

如果self.linenos为true,则返回'table' ,否则返回False ,这是由于and和or的求值方式。

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

linenos = 'table' if self.linenos else False

是三条件流
如果self.linenos为true,则将表分配给linenos,否则为False
我们还可以针对多个条件链接此流程
就像其他大多数语言中的var = condition1?12:3一样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM