作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现 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/
我是一名优秀的程序员,十分优秀!