icn*_*icn 24 python if-statement
是否有以下的Python版本if- elseC++中的语句或类似的语句如下:
int t = 0;
int m = t==0?100:5;
Run Code Online (Sandbox Code Playgroud)
Fil*_*efp 49
m = 100 if t == 0 else 5 # Requires Python version >= 2.5
m = (5, 100)[t == 0] # Or [5, 7][t == 0]
Run Code Online (Sandbox Code Playgroud)
以上两行都会产生相同的结果.
第一行使用了Python版本的" 三元运算符 ",从版本2.5开始,虽然Python文档将其称为Conditional Expressions.
第二行是一个小的黑客在许多提供内联的功能(所有的重要)的方式相当于?:在许多其他语言(如发现Ç和C++).
bob*_*mcr 14
您指的构造称为三元运算符.Python有一个版本(从2.5版本开始),如下所示:
x if a > b else y
Run Code Online (Sandbox Code Playgroud)
t = 0
if t == 0:
m = 100
else:
m = 5
Run Code Online (Sandbox Code Playgroud)
美丽胜过丑陋.
显式优于隐式.
简单比复杂更好.
来自PEP 20.
或者,如果你真的,真的必须(在Python> = 2.5):
t = 0
m = 100 if t == 0 else 5
Run Code Online (Sandbox Code Playgroud)