编程语言
首页 > 编程语言> > Python正确的代码格式(PEP8)

Python正确的代码格式(PEP8)

作者:互联网

所以我刚刚在python中学到了“List Comprehensions”.其中一些对于单行来说太长了(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

这是一个缩进的块.

解决方法:

我可能会这样做:

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,code-formatting,pep8
来源: https://codeday.me/bug/20190710/1418784.html