假设函数some_descriptively_named_function
返回4 - tuple
的4个返回参数。我想调用some_descriptively_named_function
,遵循80个字符的行长度限制,并将所有4个输出解压缩为描述性命名的变量:
some_desc_name1, some_desc_name2, some_desc_name3, some_desc_name4 = some_descriptively_named_function()
一个选项是:
some_desc_name1, some_desc_name2, some_desc_name3, some_desc_name4 = (
some_descriptively_named_function()
)
虽然有四个解压缩值,但即使这样也可以推动它的行长度。如果我想对每个论点作一个简短的评论,那就很难很好地阐述它。
以下有效,但不清楚这是好还是坏。
(some_desc_name1, # Comment 1
some_desc_name2, # Comment 3
some_desc_name3, # Comment 3
some_desc_name4 # Comment 4
) = some_descriptively_named_function()
这对于线路长度来说肯定是好的,但尝试考虑PEP8如何应用于在一行开头发生的括号是很奇怪的。
是否已建立(希望与PEP8相关)Python风格指南?
答案 0 :(得分:3)
您的格式LGTM,但有几条建议:
(some_desc_name1,
some_desc_name2,
some_desc_name3,
some_desc_name4) = some_descriptively_named_function()
some_descriptively_named_function()
的文档字符串应该清楚地定义它们。答案 1 :(得分:0)
如果一个函数返回一个元组,那么这些值都是相关的并且不需要单独的注释是有意义的。在函数定义中,该描述可能更有意义。然后,您的第一个选项将是将函数结果快速设置为4个不同变量的最佳解决方案。另一种选择是简单地将整个元组用作变量:
some_desc_name1 = some_descriptively_named_function()
print some_desc_name1[0] # Comment 1