Python 里你们会把 if 写成单行吗(`if cond:doit()`)?

2019-03-18 17:51:34 +08:00
 Vegetable

有时候判断一个条件,决定是不是执行一个方法. 今天看了一下自己写的代码里,出现了不少这种类似的判断,写的时候没多想,review 的时候比较纠结.觉得不好看

if dirty:
    clean()

网上看到很多人喜欢写这样的代码,不幸的是,我使用 autopep8 会自动换行,写成这样也白扯

if dirty:clean()

这样效果看起来也一样,但是这就是赋值语句拿来做流程控制好像不太合适,可读性也有一些损失.

dirty and clean() 

clean() if dirty else None

写完这几行字我决定不改这一部分了

6011 次点击
所在节点    Python
26 条回复
xpresslink
2019-03-19 10:13:47 +08:00
哪有空儿想这个,写代码时候能少按一下就少按一下。
在 Pycharm 里面,都是提交代码前,习惯性的 Ctrl+A 然后再 Ctrl+Alt+L 一下,所以楼主说的这事儿根本不存在的。
sazima
2019-03-19 10:21:05 +08:00
不符合 PEP8
karllynn
2019-03-19 10:23:57 +08:00
有啥不好看的,你要写 go,到处都是

```
if err != nil {
}
```

不好看你也得忍着,不然根本编译不过
D0n9
2019-03-19 10:45:59 +08:00
@Kirscheis 啊哈哈哈哈哈
qf0129
2019-03-19 13:56:02 +08:00
自从知道有领导把代码行数作为绩效后,我再也不这样写了
Loner233
2019-03-20 13:49:07 +08:00
一行。写 Scala 常用,反正也就写着玩,不用别人读。反正隔天自己也看不懂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/545879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX