我一直在阅读各种python编码风格指南,SO上的一些答案等,但没有一个提到一些可能不是那么重要的问题,但我想知道是否有一种首选的方法:< / p>
如果我有字典,哪种风格会更好用:
dict_name = {'test': 'somevalue',
'test2': 'other'}
或
dict_name = {
'longer_key': 'somevalue',
'longer_key2': 'other'
}
或
dict_name = {
'test': 'somevalue',
'test2': 'other'
}
或
dict_name = {
'test': 'somevalue',
'test2': 'other'
}
或其他什么?
同样适用于调用方法时:
function_name(longer_arg1, longer_arg2, longer_arg3,
longer_arg4)
或
function_name(longer_arg1, longer_arg2, longer_arg3,
longer_arg4)
或
function_name(
longer_arg1,
longer_arg2,
longer_arg3,
longer_arg4
)
或
function_name(
longer_arg1,
longer_arg2,
longer_arg3,
longer_arg4
)
或其他什么?
当使用更长的记录行时,让我们说:
loggername.info('this is an awfully long line which must be separated'
'into two lines, am I doing it right? {0}'.format('nope..'))
甚至考虑这个:
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..')
)
现在这最后一点也与函数调用样式有关,我们有很多参数,一个长字符串,如何将这些行分开是最好的?
答案 0 :(得分:9)
查看PEP 8 - The Style Guide for Python Code有关如何编写可读Python代码的指导,你不会出错。强烈推荐。
答案 1 :(得分:1)
Levon的回答你不会出错,因为它完全是客观的(尽管可能基于主观文件)。 PEP 8 应被视为标准。根据个人偏见回答:
dict_name = {'test': 'somevalue',
'test2': 'other'}
IDLE(Python的集成DeveLopment环境)将在第一个逗号后点击 return / enter 时以这种方式格式化字典。因此,我经常会将这种风格用于大型词典。
function_name(longer_arg2, longer_arg2, longer_arg3,
longer_arg4)
同时考虑IDLE,如果在第三个逗号后按下 return / enter ,程序将以这种方式缩进功能。我通常遵循这种风格,但你总会发现标准风格的偶然例外。
loggername.info('This is an awfully long line which must be separated into two \
lines. Am I doing it right? {}'.format('No.'))
这可能是我最主观的评论。程序中的行长度不应超过80个字符。这应该适用于代码和文本。请记住,您可以创建块引号('''
)。