ely*_*ely 4 python pep8 argument-unpacking iterable-unpacking
假设该函数some_descriptively_named_function返回 4- tupleof 4 个返回参数。我想调用some_descriptively_named_function,遵守 80 个字符的行长度限制,并将所有 4 个输出解压缩到一个描述性命名的变量中:
some_desc_name1, some_desc_name2, some_desc_name3, some_desc_name4 = some_descriptively_named_function()
Run Code Online (Sandbox Code Playgroud)
一种选择是:
some_desc_name1, some_desc_name2, some_desc_name3, some_desc_name4 = (
some_descriptively_named_function()
)
Run Code Online (Sandbox Code Playgroud)
但是,对于四个未打包的值,即使这样也可以推动它的行长。如果我想对每个论点做一个简短的评论,要很好地阐述它并不容易。
以下工作,但不清楚这是否被认为是好的或非常糟糕。
(some_desc_name1, # Comment 1
some_desc_name2, # Comment 3
some_desc_name3, # Comment 3
some_desc_name4 # Comment 4
) = some_descriptively_named_function()
Run Code Online (Sandbox Code Playgroud)
这对于行长当然很好,但是尝试考虑 PEP8 如何适用于发生在行首的括号是很奇怪的。
是否有一个既定的(希望与 PEP8 相关的)Python 风格指南?
您的格式 LGTM,但有一些建议:
(some_desc_name1,
some_desc_name2,
some_desc_name3,
some_desc_name4) = some_descriptively_named_function()
Run Code Online (Sandbox Code Playgroud)
some_descriptively_named_function()应该清楚地定义这些。