Python 速记条件
Posted
技术标签:
【中文标题】Python 速记条件【英文标题】:Python shorthand conditional 【发布时间】:2011-09-30 07:30:19 【问题描述】:这是一个快速的...
在 Python 中可以做到:
foo = foo1 if bar1 else foo2
这很酷,但是我怎样才能在不写的情况下得到一个真或假
foo = True if bar1 else False
例如,在 JS 中你可以通过做强制转换一个布尔类型
var foo = !!bar1;
【问题讨论】:
请问您为什么需要这个?我希望你不打算写类似if condition == True:
...
因为我比较懒,需要根据条件语句赋值一个布尔变量,所以这种方式写起来比较快
【参考方案1】:
在对象上调用bool
:
bool(bar1)
【讨论】:
【参考方案2】:与 javascript 类似,您可以在 Python 中使用逻辑否定。这使用关键字not。 bool 函数的一个缺点是您可以更改其值,因为这不是保留字。如果 bool 变量的值不可调用。比如bool = 7
,就会报错。如果 bool 变量的值是可调用的。比如bool = int
,你可能得不到你的期望值(True or False)。
JavaScript
!!bar1
Python
not not bar1
【讨论】:
以上是关于Python 速记条件的主要内容,如果未能解决你的问题,请参考以下文章