我在这里找不到任何东西:https://docs.python.org/3/library/operator.html
PHP的两个例子很方便:
echo $count ?: 10; //prints $count if $count is not empty string, null, false or 0, otherwise prints 10.
echo $a ?? $b ?? 7; //prints $a if $a is defined and not null, otherwise will print $b, otherwise 7
Python中是否有等效的运算符?注意:
a if condition else b
并没有真正替换速记三元运算符,因为条件和返回值是在PHP中的一个元素中以速记版本指定的。
答案 0 :(得分:6)
or
运算符返回第一个true-y值。
a = 0
b = None
c = 'yep'
print(a or 'nope')
print(b or 'nope')
print(c or 'nope')
print(b or c or 'nope')
> nope
> nope
> yep
> yep
答案 1 :(得分:-1)
在Python中有一种方法可以进行三元操作:
print((b, a)[a]) # if a: prints a; otherwise prints b
选项位于元组中:(b, a)
[条件]将确定我们在第0级调用元素(条件为假)或在元组中调用1(条件为真)。
a = False
b = "youpi"
print((b, a)[a])
# youpi
condition = "Thirsty"
print(("Foo" , "Bar")[condition == "Thirsty"])
# Bar