Python具有类似于C等人中的三元运算符的构造。它的工作原理如下:
my_var = "Retired" if age > 65 else "Working"
并等效于此C代码:
my_var = age > 65 ? "Retired" : "Working";
至于您发布的代码的工作方式,让我们逐步完成:
("Working","Retired")
创建一个2元组(不可变的列表),其中元素“工作”在索引0,索引“退休”在索引1。
var>65
如果var大于65,则返回True,否则返回False。当应用于索引时,它会转换为1(真)或0(假)。因此,此布尔值提供了在同一行创建的元组的索引。
为什么Python并不总是具有三元运算符?简单的答案是,Python的作者Guido van
Rossum不喜欢/不想要它,显然是认为它是不必要的构造,可能导致混淆的代码(以及任何在Java中看到大量嵌套三元运算符的人C可能同意)。但是对于Python
2.5,他宽容并添加了上面看到的语法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)