2

我经常看到人们写这样的代码:

try: some_function()
except: print 'something'

当我认为这样做明显更清洁时:

try:
        some_function()
except:
        print 'something'

我试图弄清楚为什么?将代码与尝试放在同一行是否存在一些固有的速度差异?(有点像“内联”,但不是真的)。

4

3 回答 3

5

我不认为前者是一个好习惯。人们可能认为 try & except 块足够短,可以写成一行。

引自 PEP8:

虽然有时可以将带有小主体的 if/for/while 放在同一行,但切勿对多子句语句执行此操作。还要避免折叠这么长的线!

当然不:

try: something()
finally: cleanup()

(参考: http: //www.python.org/dev/peps/pep-0008/

因此,始终将 try 写在单独的行中是一个好习惯。

于 2012-09-28T18:36:36.220 回答
1

答案就在你的问题中。总是使用第二种形式:它更干净。还有一个很好的Python 风格指南,你可能想看看。

于 2012-09-28T18:34:29.310 回答
1

同意 Joran 的观点,这是风格和可读性偏好的问题。当然,编码回车后实际文件大小会稍大一些,但性能不会受到影响。

于 2012-09-28T18:35:22.410 回答