如何在python中格式化一个长行,其中函数调用返回多个输出,而我必须接收它们



所以我在python中有以下行:

for category in SomeLongClass.license_categories:
data[f"Category {category}"], data[f"Category {category} Validity Date"], data[f"Category {category} Expiry Date"] = SomeLongClass.get_category_dates(text_lines=text_lines, category=category)

正如您所看到的,这一行很长,并且在可读性方面有所妥协。我在这个文件上运行了pylint,它只是告诉我这行很长,但没有告诉我如何补救。我试着在谷歌上搜索它,它说只放一个并插入一个新行,但在这种情况下,这不会更损及可读性吗?

如何设置此行的格式?

这是我的团队完成这项工作的一种方式:对齐接收变量,对齐行的连续部分(不是严格意义上的PEP-8(,并缩进RHS。

# Assign three return values to the desired variables.
data[f"Category {category}"],               
data[f"Category {category} Validity Date"], 
data[f"Category {category} Expiry Date"] =  
SomeLongClass.get_category_dates(text_lines=text_lines, category=category)

我想你想要换行符。应该是

for category in SomeLongClass.license_categories:
(data[f"Category {category}"], 
data[f"Category {category} Validity Date"], 
data[f"Category {category} Expiry Date"]) = SomeLongClass.get_category_dates(text_lines=text_lines, category=category)

尝试分配给不同的变量,然后分配给这些变量

for category in SomeLongClass.license_categories:
a1, a2, a3 = SomeLongClass.get_category_dates(text_lines=text_lines,
category=category)
data[f"Category {category}"] = a1
data[f"Category {category} Validity Date"] = a2
data[f"Category {category} Expiry Date"] = a3

最新更新