如何格式化 python 中的长行,其中一个函数调用 returns 多个输出,我必须接收它们?

How to format the a long line in python where a function call returns multiple outputs and I have to receive them?

所以我在 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,它只是告诉我这一行很长,但没有告诉我如何补救它。我试着用谷歌搜索它,它说只要放一个 \ 并换行,但在这种情况下,这不会损害可读性吗?

如何格式化这一行?

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

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)

这是我的团队在工作中会采用的一种方式:对齐接收变量,对齐行延续(严格来说不是 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:
    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