gpt4 book ai didi

python - 使用三元运算符进行方法调用的伦理和可读性

转载 作者:行者123 更新时间:2023-11-28 22:19:47 26 4
gpt4 key购买 nike

三元运算符的标准用法是,即:

a = 1 if some_condition else 2

就在今天,我意识到这样的事情是完全合法的:

do_something() if some_condition else do_something_else()

例如:

print(1) if a == 1 else print(2)

代替:

if a == 1:
print(1)
else:
print(2)

在我看来,这更紧凑、更易读且更漂亮。我看到从这种类型的表达式中获取返回值会更难(也许方法是将所有内容都放在括号中)。你怎么看?

附言我知道这不是典型的问答内容,但我什至从未见过提到三元运算符的这种用法,我认为它明显改进了 Python 编码的某些方面。

最佳答案

仅仅为了副作用而使用三元运算符非常令人困惑。该表达式应该返回一些东西(让我想起Is it Pythonic to use list comprehensions for just side effects?:答案是)

你可以重写:

print(1) if a == 1 else print(2)

喜欢:

print(1 if a == 1 else 2)

或重写:

do_something() if some_condition else do_something_else()

到:

(do_something if some_condition else do_something_else)()

所以三元表达式返回一些被副作用表达式使用的东西。

关于python - 使用三元运算符进行方法调用的伦理和可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49450740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com