如何正确缩短长达79列的for语句

4

我想知道以下代码的最常规的编写方式是什么:

self.steps = [setpoint_and_hold_time.setpoint for setpoint_and_hold_time in program.setpoints_and_hold_times]

将列数限制在79个字符以下?

  • 根据PEP8的规定,最大行长度应为79个字符。
  • 对于长的if语句,我已经使用了括号,但我不确定如何在这里使用它们(如果那是解决方案的话)。

此外,我假设这行代码不需要太多背景上下文,如果需要,请告诉我,我会编辑一些说明此行代码的类。

谢谢。


你可以使用 \ 来换行,或者使用一个较短的变量名称吗?(setpoint_and_hold_time 这个名称太长了,特别是作为推导中的一个临时变量) - rafaelc
1
你应该尽量缩短变量名的长度。你可能不需要把一个变量命名为setpoint_and_hold_time - scharette
1
@PMende 我认为那只是针对文档字符串和注释等内容的。 - ssp
@Moosefeather 哎呀,是的,你完全正确!谢谢你指出来。 - PMende
3个回答

7

Black 可以重新格式化代码,使其符合 PEP8 规范,同时提高可读性。我认为它非常易懂。

self.steps = [
    setpoint_and_hold_time.setpoint
    for setpoint_and_hold_time in program.setpoints_and_hold_times
]

5
self.steps = [setpoint_and_hold_time.setpoint
              for setpoint_and_hold_time
              in program.setpoints_and_hold_times]

/shrug


5

由于它们的范围有限,因此没有必要给循环变量取长名称。我会缩短setpoint_and_hold_time

self.steps = [sh.setpoint for sh in program.setpoints_and_hold_times]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接