三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:
[表达式为真的返回值] if [表达式] else [表达式为假的返回值]
这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。如果需要的话我们也可以延长这条操作链。
x = 10 if (y == 9) else 20
同样地,我们可以对类做这种操作:
x = (classA if y == 1 else classB)(param1, param2)
在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用.
下面是另一个多个条件表达式链接起来用以计算最小值的例子:
In [10]: def small(a,b,c):
...: return a if a<=b and a<=c else ( b if b<=a and b<=c else c)
...:
In [11]: small(1,0,1)Out[11]: 0
In [12]: small(1,2,3)Out[12]: 1
我们甚至可以在列表推导中使用三元运算符:
In [14]: [ m**2 if m > 10 else m**4 for m in range(20) ]
Out[14]:
[0,1,16,81,256,625,1296,2401,4096,6561,10000,121,144,169,196,225,256,289,324,61]
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>