我想获得一些关于这些工具的反馈:
刚刚用Sublime Text(Sublime Linter)打开一个文件,发现了一个我以前从未见过的PEP8格式错误.这是文字:
urlpatterns = patterns('',
url(r'^$', listing, name='investment-listing'),
)
Run Code Online (Sandbox Code Playgroud)
它正在标记第二个参数,即开始的行 url(...)
我准备在ST2中禁用这个检查,但是我想知道在我忽略它之前我做错了什么.你永远不知道,如果看起来重要我甚至可能改变我的方式:)
我在Windows上使用PyCharm并想要更改设置以将最大行长度限制为79
字符,而不是默认的120
字符限制.
我在哪里可以更改PyCharm中每行的最大字符数?
哪个更好,为什么?
def my_function():
Run Code Online (Sandbox Code Playgroud)
要么
def myFunction():
Run Code Online (Sandbox Code Playgroud) 为什么在这个千年中Python PEP-8应该指定最大行长度为79个字符?
几乎每个阳光下的代码编辑器都可以处理更长的行.如何处理包装应该是内容使用者的选择,而不是内容创建者的责任.
在这个时代,有没有(合法的)充分理由坚持79个角色?
由于PEP8建议保持低于你的python程序的80列规则,我怎么能遵守长字符串,即
s = "this is my really, really, really, really, really, really, really long string that I'd like to shorten."
Run Code Online (Sandbox Code Playgroud)
我将如何将其扩展到以下行,即
s = "this is my really, really, really, really, really, really" +
"really long string that I'd like to shorten."
Run Code Online (Sandbox Code Playgroud) 该蟒蛇风格指南建议对进口组这样的:
应按以下顺序对导入进行分组:
- 标准库导入
- 相关的第三方进口
- 本地应用程序/库特定导入
但是,它没有提到应该如何规划两种不同的进口方式:
from foo import bar
import foo
Run Code Online (Sandbox Code Playgroud)
有多种方法可以对它们进行排序(让我们假设所有这些导入都属于同一个组):
首先from..import
,然后import
from g import gg
from x import xx
import abc
import def
import x
Run Code Online (Sandbox Code Playgroud)首先import
,然后from..import
import abc
import def
import x
from g import gg
from x import xx
Run Code Online (Sandbox Code Playgroud)按模块名称的字母顺序,忽略导入的类型
import abc
import def
from g import gg
import x
from xx import xx
Run Code Online (Sandbox Code Playgroud)PEP8没有提到这个的首选顺序和"清理导入"功能,一些IDE可能只是做该功能的开发人员所喜欢的任何东西.
我正在寻找另一个PEP澄清这个或来自BDFL(或其他Python核心开发人员)的相关评论/电子邮件.请不要发表陈述您自己偏好的主观答案.
我有一行以下代码(不要责怪命名约定,它们不是我的):
subkeyword = Session.query(
Subkeyword.subkeyword_id, Subkeyword.subkeyword_word
).filter_by(
subkeyword_company_id=self.e_company_id
).filter_by(
subkeyword_word=subkeyword_word
).filter_by(
subkeyword_active=True
).one()
Run Code Online (Sandbox Code Playgroud)
我不喜欢它的样子(不要太可读),但我没有任何更好的主意来限制这种情况下,行79个字符.是否有更好的方法来打破它(最好没有反斜杠)?
在搜索Python项目时,我发现了几行注释# noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Run Code Online (Sandbox Code Playgroud)
noqa
Python的意思是什么?它只针对Python吗?
我已经读过在python中有三种编码多行导入的方法
用斜杠:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text, \
LEFT, DISABLED, NORMAL, RIDGE, END
Run Code Online (Sandbox Code Playgroud)
复制信息:
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text
from Tkinter import LEFT, DISABLED, NORMAL, RIDGE, END
Run Code Online (Sandbox Code Playgroud)
括号:
from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
LEFT, DISABLED, NORMAL, RIDGE, END)
Run Code Online (Sandbox Code Playgroud)
这些陈述是否有推荐的格式或更优雅的方式?
pep8 ×10
python ×10
coding-style ×2
comments ×1
pycharm ×1
pychecker ×1
pyflakes ×1
pylint ×1
python-2.7 ×1
string ×1
sublimetext2 ×1
terminology ×1