楪祈53409 发表于 2021-5-1 00:29:41

关于三元操作符

今天看到一段代码:
x, y, z = 6, 5, 4
if x < y:
    small = x
    if z < small:
      small = z
elif y < z:
    small = y
else:
    small = z

教程中改为3元操作符以后:
small = x if (x < y and x < z) else (y if y < z else z)
我:???(黑人问号.jpg)
求大手子解释一下3元操作符到底如何使用,如何读取(怪不得都说3元操作符确实方便但会对可读性造成毁灭打击)

洋洋痒 发表于 2021-5-1 01:30:50

我想给你解释,可是我发现我的解释和上边的代码一模一样的…………

Daniel_Zhang 发表于 2021-5-1 01:45:25

这个没法给你解释啊

就是 small 只有在(x < y and x < z) 条件满足时 = x

否则 = y 如果满足 y < z
否则 = z

Daniel_Zhang 发表于 2021-5-1 01:47:12

Daniel_Zhang 发表于 2021-5-1 01:45
这个没法给你解释啊

就是 small 只有在(x < y and x < z) 条件满足时 = x


括号外面的 if else 是一对

括号里面的 if else 是一对

括号里面的在外面那对 if else 的 else 里面

三元操作符感觉不太重要,无非就是让你少写几行代码

还没直接 if else 直观

yuedong 发表于 2021-5-1 09:30:36

我感觉看括号就好了,和四则运算一样
页: [1]
查看完整版本: 关于三元操作符