程序性区分三元然后函数调用与函数调用依赖于条件

时间:2016-09-29 20:33:18

标签: python function ternary-operator

最近我对以下问题感到矛盾。它可能只是一种风格选择,但我想知道以下是否存在程序化差异...(在python中,但适用于大多数语言)

案例#1:

arg = A if condition else B
result = func(arg)

案例#2:

if condition:
    result = func(A)
else:
    result = func(B)

是否有选择这两者的行业标准?是否存在程序化差异?

1 个答案:

答案 0 :(得分:0)

我的观点是在第1种情况下,您最好确定是否要检查某种二元条件,例如:整数是奇数或偶数。在这种情况下,为了简单起见,我更喜欢Case#1。

如果条件中的表达式不是二进制,例如检查整数模块n的余数,则n> 2,你需要使用嵌套的三元表达式,代码很难快速读取。在这些案例中,案例#2会更好。