Python:将try代码放在与try语句相同的行上是否有任何好处?

use*_*023 2 python format coding-style try-catch

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

try: some_function()
except: print 'something'
Run Code Online (Sandbox Code Playgroud)

当我考虑更清洁时,这样做:

try:
        some_function()
except:
        print 'something'
Run Code Online (Sandbox Code Playgroud)

我想弄明白为什么?将代码放在与try相同的行上是否存在一些固有的速度差异?(有点像"内衬",但不是真的).

cha*_*lee 5

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

从PEP8引用:

虽然有时可以将if/for/while与小体放在同一行上,但是不要对多子句语句执行此操作.还要避免折叠如此长的线条!

当然不:

try: something()
finally: cleanup()
Run Code Online (Sandbox Code Playgroud)

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

所以,总是写一个单独的行尝试是一个很好的做法.