gpt4 book ai didi

Python 正确的代码格式 (PEP8)

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

所以我刚刚了解了"List Comprehensions"在 python 。其中一些对于单行 (PEP8) 来说太长了,我正试图找出最好的(最易读的)方法来打破它们。

我想出了这个

questions = [
(
q,
q.vote_set.filter(choice__exact='Y'),
q.vote_set.filter(choice__exact='N'),
request.session.get(str(q.id))
)
for q in questions
]

但是还是报错]前有空格,具体的pep8错误是E202

这是一个缩进 block 。

最佳答案

我可能会这样做:

questions = [(q, 
q.vote_set.filter(choice__exact='Y'),
q.vote_set.filter(choice__exact='N'),
request.session.get(str(q.id)))
for q in questions]

请记住,PEP8 旨在与您的最佳判断一起使用;它们并非旨在在所有情况下都绝对遵循。当多个规则发生冲突时,它们的结构也不总是有意义。

偶尔故意违反规则是可以的;像这样的跳棋只是为了确保您不会意外打破它们。

编辑:将我的评论移到我的答案中。

你的代码看起来有点像 Lisp 式括号语言或 C 式大括号语言,因为你将括号和括号放在不同的行上。

在 Python 中,您只需使用缩进来显示通常在另一种语言的单独行上用方括号/圆括号/大括号显示的内容。如果您使用您的代码并进行更改,它与我的版本相同。

不过,真的不要太担心 PEP 检查器。如果您真的喜欢将圆括号和方括号放在不同的行中得到的额外空白,那么就这样做吧。它不会使其成为“错误代码”,也不会降低可读性。

关于Python 正确的代码格式 (PEP8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990501/

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