在使用 IDLE 打开的脚本中,我在以下函数的主体中获得了以下缩进:
def f(self, a, b, c, d, e, f):
return 'guitar { id: %d, relevant_properties: (%.02f, %.02f, %.02f), irrelevant_properties: (%.02f, %.02f, %.02f) }' % \
(self.id, a, b, c, d, e, f)
要获得此缩进,请将光标放在(%.02f, %.02f, %.02f) }' % \
和之间(self.id, a, b, c, d, e, f)
,然后单击 ENTER
如果我在这里复制,只复制上述函数 body 的两行,而不点击{}按钮,我得到:
return 'guitar { id: %d, relevant_properties: (%.02f, %.02f, %.02f), irrelevant_properties: (%.02f, %.02f, %.02f) }' % \
(self.id, a, b, c, d, e, f)
aculich 答案中的缩进是正确的,而您的问题中的缩进并不是真的不正确(因为您的代码可以正常工作而不会出现错误),但在视觉上并不令人愉快。
.
就个人而言,我认为最好将操作符号%放在后面\
而不是前面,如下所示:
return 'guitar { id: %d, relevant_properties: (%.02f, %.02f, %.02f), irrelevant_properties: (%.02f, %.02f, %.02f) }'\
% (self.id, a, b, c, d, e, f)
.
可以改善显示以减小宽度,如下所示:
return ('guitar '
'{ '
'id: %d, '
'relevant_properties: (%.02f, %.02f, %.02f), '
'irrelevant_properties: (%.02f, %.02f, %.02f) '
'}') \
% (self.id, a, b, c, d, e, f)
Bouaif(这是试图表达怀疑的个人法语拟声词),这并不好,因为它混合了隐式和显式的连线。
编辑:那么,考虑到 aculich 的解释,上述缩小宽度的解决方案也可以写成
return ('guitar '
'{ '
'id: %d, '
'relevant_properties: (%.02f, %.02f, %.02f), '
'irrelevant_properties: (%.02f, %.02f, %.02f) '
'}'
% (self.id, a, b, c, d, e, f) )
嗯,这有更多的风格。
但是我犹豫不知道我更喜欢后一种中的哪一种,以及在考虑所有这些时想到的以下方式:
return ('guitar '
'{ '
'id: %d, '
'relevant_properties: (%.02f, %.02f, %.02f), '
'irrelevant_properties: (%.02f, %.02f, %.02f) '
'}'
) % (self.id, a, b, c, d, e, f)