当从函数调用常量时,(PEP8)换行的正确方法是什么?
What's the proper way to (PEP8)line break for when constants are called from a function?
我正在使用 spyder,我有一段代码是这样的
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(decay_positions, cos_theta, phi)
decay_positions
中的第二个 i
超出了建议的一行字符数(大约 90 个)。我有动态 PEP8 分析,所以它自然会给我代码分析警告。那么在这种情况下正确的 PEP8 方法是什么?是吗
detector_x, detector_y, smeared_x, smeared_y = \
gamma_detection(decay_positions, cos_theta, phi)
从技术上讲它仍在运行,但它给了我警告
E122 continuation line missing indentation or outdented
或者是
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(
decay_positions, cos_theta, phi)
或者是
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(
decay_positions, cos_theta, phi)
您提供了选项 {1, 2, 3}。
绝对使用2或3。
这是他们之间的品味问题,
或者您最喜欢的编辑器鼓励您使用的内容。
(将所有内容放在一行中,光标通过左括号,点击 RETURN,并使用建议的缩进。)
只要
$ flake8
不抱怨,你是金子。
(用pip install flake8
获取。)
对于很多参数,
或涉及冗长表达式的参数,
您甚至可以考虑每行列出一个参数。
如果您要分配给很多长标识符,
您可能会考虑将 LHS 放在括号中以进行元组解包:
(detector_x, detector_y,
smeared_x, smeared_y) = gamma_detection(
decay_positions,
cos_theta + epsilon * some_long_expression(),
phi)
在 VS 代码上使用 autopep8,您的代码将更改为以下内容:
detector_x, detector_y, smeared_x, smeared_y = \
gamma_detection(decay_positions, cos_theta, phi)
现在我看了一下总长度,如果是一行的话,是96个字符。即使这超过了 ~79 个字符的 PEP8 限制,我仍然建议将其保留为一行。在实践中,79 个字符非常短,如果您制作 100 个字符的行,可读性也不会降低。在我工作的地方,我们还将行长度指南增加到 100 个字符。
# 96 characters
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(decay_positions, cos_theta, phi)
我正在使用 spyder,我有一段代码是这样的
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(decay_positions, cos_theta, phi)
decay_positions
中的第二个 i
超出了建议的一行字符数(大约 90 个)。我有动态 PEP8 分析,所以它自然会给我代码分析警告。那么在这种情况下正确的 PEP8 方法是什么?是吗
detector_x, detector_y, smeared_x, smeared_y = \
gamma_detection(decay_positions, cos_theta, phi)
从技术上讲它仍在运行,但它给了我警告
E122 continuation line missing indentation or outdented
或者是
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(
decay_positions, cos_theta, phi)
或者是
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(
decay_positions, cos_theta, phi)
您提供了选项 {1, 2, 3}。
绝对使用2或3。 这是他们之间的品味问题, 或者您最喜欢的编辑器鼓励您使用的内容。 (将所有内容放在一行中,光标通过左括号,点击 RETURN,并使用建议的缩进。) 只要
$ flake8
不抱怨,你是金子。
(用pip install flake8
获取。)
对于很多参数, 或涉及冗长表达式的参数, 您甚至可以考虑每行列出一个参数。
如果您要分配给很多长标识符, 您可能会考虑将 LHS 放在括号中以进行元组解包:
(detector_x, detector_y,
smeared_x, smeared_y) = gamma_detection(
decay_positions,
cos_theta + epsilon * some_long_expression(),
phi)
在 VS 代码上使用 autopep8,您的代码将更改为以下内容:
detector_x, detector_y, smeared_x, smeared_y = \
gamma_detection(decay_positions, cos_theta, phi)
现在我看了一下总长度,如果是一行的话,是96个字符。即使这超过了 ~79 个字符的 PEP8 限制,我仍然建议将其保留为一行。在实践中,79 个字符非常短,如果您制作 100 个字符的行,可读性也不会降低。在我工作的地方,我们还将行长度指南增加到 100 个字符。
# 96 characters
detector_x, detector_y, smeared_x, smeared_y = gamma_detection(decay_positions, cos_theta, phi)