gpt4 book ai didi

python - 在 Python 中从哪里开始换行?

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:07 25 4
gpt4 key购买 nike

PEP 8似乎没有规定换行应该从行的开头还是从结尾开始,以保​​持在 79 个字符的限制内。

例如我应该在哪里打破这条线?

long_function_name_1(long_function_name_2(long_function_name_3(long_function_name_4(long_function_name_5(long_function_name_6(long_function_name_7(long_function_name_8(args))))))))

从一开始?

long_function_name_1(
long_function_name_2(
long_function_name_3(
long_function_name_4(
long_function_name_5(
long_function_name_6(
long_function_name_7(long_function_name_8(args))))))))

还是从头开始?

long_function_name_1(long_function_name_2(long_function_name_3(
long_function_name_4(long_function_name_5(long_function_name_6(
long_function_name_7(long_function_name_8(args))))))))

我对推荐一种形式优于另一种形式的理由特别感兴趣。

最佳答案

首先,请记住 PEP8 是指南,而不是处方。实际上,只要符合语言规范,Python 代码就是有效的。实际上,我会说“只要 CPython 不报错,就没问题”。

使用类似 yapf 的程序或 black格式化你的 Python 代码。这样你就不用担心细节了。在您的编辑器中设置一个快捷方式来调用格式化程序,或者在您在修订控制软件中 checkin 文件之前自动调用它。

我建议将这些工具可接受的行长度设置为 90 左右的值。PEP8 中过时的 79 个字符限制来自低分辨率监视器(并返回到硬件终端和电传打字机),这在今天几乎不相关。在具有列表理解和 f 字符串的现代 Python 代码中严格遵守这一限制实际上可以使您的代码不那么可读。观看 Raymond Hettinger 的 beyond PEP8 .另见 his post在评论中链接:

PEP 8 is mostly about readability. However, the line length limit often seems to cause less readable code.

有了这样的设置,yapf 就变成了:

long_function_name_1(
long_function_name_2(long_function_name_3(long_function_name_4(args)))
)

关于python - 在 Python 中从哪里开始换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58156936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com