Python编码风格

and*_*ean 3 python coding-style

我一直在阅读各种python编码风格指南,SO上的一些答案等等,但没有一个提到一些可能不是那么重要的问题,但我想知道是否有一种首选的方法:

如果我有一个字典,哪种风格会更好用:

dict_name = {'test': 'somevalue',
             'test2': 'other'}
Run Code Online (Sandbox Code Playgroud)

要么

dict_name = {
    'longer_key': 'somevalue',
    'longer_key2': 'other'
}
Run Code Online (Sandbox Code Playgroud)

要么

dict_name = {
             'test': 'somevalue',
             'test2': 'other'
}
Run Code Online (Sandbox Code Playgroud)

要么

dict_name = {
             'test': 'somevalue',
             'test2': 'other'
            }
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

也适用于调用方法时:

function_name(longer_arg1, longer_arg2, longer_arg3, 
    longer_arg4)
Run Code Online (Sandbox Code Playgroud)

要么

function_name(longer_arg1, longer_arg2, longer_arg3, 
              longer_arg4)
Run Code Online (Sandbox Code Playgroud)

要么

function_name(
    longer_arg1, 
    longer_arg2, 
    longer_arg3, 
    longer_arg4
)
Run Code Online (Sandbox Code Playgroud)

要么

function_name(
              longer_arg1, 
              longer_arg2, 
              longer_arg3, 
              longer_arg4
)
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

当使用更长的记录行时,让我们说:

loggername.info('this is an awfully long line which must be separated'
    'into two lines, am I doing it right? {0}'.format('nope..'))
Run Code Online (Sandbox Code Playgroud)

甚至考虑这个:

loggername.info('this is an {0} {1} line which must be separated'
    'into {2} lines, am I doing it right? {0}'.format(
    'awfully', 'short', 'three', 'nope..')
)
Run Code Online (Sandbox Code Playgroud)

现在这最后有点与函数调用样式有关,我们有很多参数,一个长字符串,如何将这些行分开?

Lev*_*von 9

查看PEP 8 - Python代码样式指南可以获得有关如何编写可读Python代码的指导.强烈推荐.