如果Python没有三元条件运算符,是否可以使用其他语言结构模拟一个?
可能重复:
Python三元运算符
我刚刚进入Python,我非常喜欢语法的简洁性.然而,有没有写一个更简单的方法if- then- else语句,因此它适合在同一行?
例如:
if count == N:
count = 0
else:
count = N + 1
Run Code Online (Sandbox Code Playgroud)
有没有更简单的写作方式?我的意思是,在Objective-C中我会把它写成:
count = count == N ? 0 : count + 1;
Run Code Online (Sandbox Code Playgroud)
Python有类似的东西吗?
更新
我知道在这种情况下我可以使用count == (count + 1) % N.
我问的是一般语法.
有人可以用简单的话向我解释什么是?:(有条件的,"三元")运算符以及如何使用它?
我很困惑为什么这段代码不能编译:
var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";
Run Code Online (Sandbox Code Playgroud)
如果我拆分它,它工作正常:
var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";
Run Code Online (Sandbox Code Playgroud) 我需要设置值a取决于条件.
使用CoffeeScript执行此操作的最短方法是什么?
这就是我在JavaScript中的表现:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
Run Code Online (Sandbox Code Playgroud) 如何? :在Ruby中使用条件运算符()?
例如,这是正确的吗?
<% question = question.size > 20 ? question.question.slice(0, 20)+"..." : question.question %>
Run Code Online (Sandbox Code Playgroud) 有人可以解释PHP中三元运算符速记(?:)和空合并运算符(??)之间的差异吗?
他们什么时候表现不同,以同样的方式(如果这种情况发生)?
$a ?: $b
Run Code Online (Sandbox Code Playgroud)
VS.
$a ?? $b
Run Code Online (Sandbox Code Playgroud) 没有别的,我可以写'if else'速记吗?
var x=1;
x==2 ? dosomething() : doNothingButContinueCode();
Run Code Online (Sandbox Code Playgroud)
我注意到if else了其他的工作(但我不知道为什么或者这是个好主意).
编辑:有些人似乎很困惑为什么我会费心去尝试这个.请放心,这纯粹是出于好奇.我喜欢乱搞JavaScript.
如何if在JavaScript中使用内联语句?还有内联else声明吗?
像这样的东西:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
Run Code Online (Sandbox Code Playgroud) javascript if-statement ternary-operator conditional-operator
ternary-operator ×10
javascript ×4
if-statement ×2
python ×2
.net ×1
c# ×1
c#-6.0 ×1
coffeescript ×1
kotlin ×1
operators ×1
php ×1
php-7 ×1
ruby ×1
shorthand ×1
syntax ×1