加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python正确的代码格式(PEP8)

发布时间:2020-12-20 13:24:15 所属栏目:Python 来源:网络整理
导读:所以我刚刚在 python中学到了 “List Comprehensions”.其中一些对于单行来说太长了(PEP8),而我正试图找出最好的(最可读的)方法来解决这些问题. 我想出了这个 questions = [ ( q,q.vote_set.filter(choice__exact='Y'),q.vote_set.filter(choice__exact='N')
所以我刚刚在 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,request.session.get(str(q.id)))
                  for q in questions]

请记住,PEP8旨在与您的最佳判断一起使用;在任何情况下都不打算完全遵循它们.当多个规则冲突时,它们的结构也不总是有意义.

偶尔有意破坏规则是可以的;像这样的跳棋只是为了确保你不会意外地打破它们.

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

你的代码看起来有点太类似于类似Lisp的括号语言或类似C语言的大括号语言,因为你将括号和括号放在不同的行上.

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

真的,不要过分担心PEP检查器.如果你真的喜欢将括号和括号放在不同的行上而得到的额外空格,那就去做吧.它不会使它成为“坏代码”,也不会降低可读性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读