在python中进行编码时,我是否仍应遵循79 char的最大行长度规则。
如果是的话 所以什么时候使用enter和\来换行。
例如
qy = MyModel.objects.filter(name='abcd', modified_on__range=
(now-delta_6, now),type=1) \
.select_related('Author')
我使用emacs进行python编码。 所以当我使用enter for line breacking时,我可以使用tab来缩进,有时候我必须使用\来缩进
所以最好的方法就是这样做。
由于
答案 0 :(得分:7)
PEP 8建议最大行长度为79个字符,我通常不会发现太难遵循此建议。
同样根据PEP 8,我试图依赖于括号内的隐含线延续。给出的示例可以很容易地分成两个语句:
qy = MyModel.objects.filter(
name='abcd', modified_on__range=(now - delta_6, now),type=1)
qy = qy.select_related('Author')
如果你的代码执行了大量的方法链接,你可能更喜欢添加一对parens以获得隐式行继续:
qy = (MyModel.objects
.filter(name='abcd', modified_on__range=(now - delta_6, now),type=1)
.select_related('Author'))
这会将每个链式方法放在一条线上,这样就可以很容易地看到所涉及的步骤。
答案 1 :(得分:2)
如果您想遵循PEP 8指南,我会像这样重写您的代码:
qy = MyModel.objects.filter(name='abcd',
modified_on__range=(now-delta_6, now),
type=1).select_related('Author')
至于你是否应该遵循PEP 8中建议的最大线路长度,这完全取决于你。
PEP 8旨在提高Python代码的可读性,79字符行长度用于与某些宽度受限的设备兼容,并且易于并行查看代码。我有相当宽的屏幕,所以即使我尝试大多数时间都遵循PEP 8,如果我觉得分裂线会降低可读性,我会忽略这一规则。