lisp语言cond和if套用_在'if'语句中设置多行条件的样式?

Harley Holco..

679

您不需要在第二个条件行上使用4个空格.也许用:

if (cond1 == 'val1' and cond2 == 'val2' and

cond3 == 'val3' and cond4 == 'val4'):

do_something

另外,不要忘记空格比您想象的更灵活:

if (

cond1 == 'val1' and cond2 == 'val2' and

cond3 == 'val3' and cond4 == 'val4'

):

do_something

if (cond1 == 'val1' and cond2 == 'val2' and

cond3 == 'val3' and cond4 == 'val4'):

do_something

但这两个都相当难看.

也许会丢失括号(虽然风格指南不鼓励这样)?

if cond1 == 'val1' and cond2 == 'val2' and \

cond3 == 'val3' and cond4 == 'val4':

do_something

这至少给你一些区别.

甚至:

if cond1 == 'val1' and cond2 == 'val2' and \

cond3 == 'val3' and \

cond4 == 'val4':

do_something

我想我更喜欢:

if cond1 == 'val1' and \

cond2 == 'val2' and \

cond3 == 'val3' and \

cond4 == 'val4':

do_something

这是样式指南,(自2010年起)建议使用括号.

请注意,PEP 8不推荐使用尾随\解决方案.一个原因是,如果在编辑器中未显示空格而错误地添加空格,并且代码在语法上会变得不正确. (40认同)

这是错误的,样式指南说"通过在括号中包装表达式,可以在多行中分解长行.这些应该优先使用反斜杠来表示行继续." 你可以在这里看到:http://www.python.org/dev/peps/pep-0008/#maximum-line-length (14认同)

@joshcartme PEP在http://hg.python.org/peps/rev/7a48207aaab6更改为明确阻止反斜杠.我会更新答案. (8认同)

谢谢,更新您的示例可能是一个好主意,因为现在不推荐它们.我试图自己解决这个问题,并且对你的答案和风格指南(因此我的评论)之间的差异感到困惑.我不仅仅是想要迂腐. (3认同)

[PEP 8](https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-binary-operator)现在不鼓励在`还有`和`if`。 (3认同)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值