带括号/逗号的多行Python代码第二行的推荐标准缩进是什么?
无缩进:
plt.imshow(np.transpose(Z), extent=[0,4.2,0,48000], cmap='jet',
vmin=-100, vmax=0, origin='lowest', aspect='auto')
4个空格缩进:
plt.imshow(np.transpose(Z), extent=[0,4.2,0,48000], cmap='jet',
vmin=-100, vmax=0, origin='lowest', aspect='auto')
直到(
的标识:
plt.imshow(np.transpose(Z), extent=[0,4.2,0,48000], cmap='jet',
vmin=-100, vmax=0, origin='lowest', aspect='auto')
另一种解决方案?
这是链接的:Proper indentation for Python multiline strings,但这里的问题仅针对带有括号/逗号而不是字符串的多行。
答案 0 :(得分:3)
如果您遵循PEP8, Indentation,那么我会选择选项3:
# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
var_three, var_four)
我个人非常喜欢此选项,因为它使自己和他人更容易阅读。但是,如果您在公司工作,请务必检查公司标准(每个公司可能会有其偏好)。
答案 1 :(得分:2)
我永远不会使用选项1或2,它们可能会引起误解。如果您有足够的空间,则3为好。
当选项3留出的空间太少或使用反斜杠分割行时(PyCharm在后一种情况下默认使用此选项),两个缩进级别(8个空格),还有一个选项可以使用>:
plt.imshow(np.transpose(Z), extent=[0,4.2,0,48000], cmap='jet',
vmin=-100, vmax=0, origin='lowest', aspect='auto')
def grouper_with_prev(iterable: _Iin[_T], n: int, include_first: bool = False) \
-> _Iout[_t.Tuple[_T, ...]]:
"""
Returns n size chuncks of iterable with the previous n-1 elements
"""
...
这没有选项1和2的困惑,这使您很清楚自己在做什么。