gpt4 book ai didi

python - 表达或声明? :'if a : do_something()' 和 '(a and do_somthing())' 哪个更好?

转载 作者:行者123 更新时间:2023-11-28 19:44:48 24 4
gpt4 key购买 nike

我发现 python 可以轻松地以“lisp”风格编码。

表达式:

正常方式:

if a:
do_something()

'函数'方式:

(a and do_something())

正常方式:

if not a:
do_somthing()
elif b:
do_otherthing()

'功能'方式

((not a and do_something()) or (b and do_otherthing()))

正常方式:

a = bla.get_a()
if a is None:
a = A()

'函数'方式:

a = (bla.get_a() or A())

这个功能是如此迷人,以至于我可以在一行中编写代码,而在正常情况下必须编写多行代码。

但我不知道它是“pythonic”还是比平常更糟糕。

google coding stype 也没有定义哪个更符合规则。

最佳答案

当然

if a: 
do_something()

第二个(a 和 do_somthing()))是可怕的和 hacky。正如@limelights 所说,Python 之禅说显式优于隐式可读性重要。您可能应该阅读 PEP-8如果你还没有。

关于python - 表达或声明? :'if a : do_something()' 和 '(a and do_somthing())' 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15759297/

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