为什么在这个千年里Python PEP-8应该指定最大行长度为79个字符?

几乎所有的代码编辑器都可以处理更长的代码行。如何使用包装应该是内容消费者的选择,而不是内容创造者的责任。

在这个时代,有什么(合理的)好的理由坚持使用79个汉字吗?

在搜索一个Python项目时,我发现有几行注释了# noqa。

import sys
sys.path.append(r'C:\dev')
import some_module   # noqa

noqa在Python中是什么意思?它只针对Python吗?

刚刚用Sublime Text(用Sublime Linter)打开了一个文件,注意到一个我以前从未见过的PEP8格式错误。原文如下:

urlpatterns = patterns('',
    url(r'^$', listing, name='investment-listing'),
)

它标记了第二个参数,url(…)开始的行

我要禁用这个检查在ST2,但我想知道我做错了什么之前,我忽略了它。你永远不知道,如果它看起来很重要,我甚至可能改变我的方式:)

那么,哪个更好,为什么?

def my_function():

or

def myFunction():

我在Windows上使用PyCharm,想更改设置,将最大行长限制为79个字符,而不是默认的120个字符。

我可以在哪里更改PyCharm中的每行最大字符数?

我想获得一些关于这些工具的反馈:

功能; 适应性; 易用性和学习曲线。

PEP 8规定:

导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,在模块全局变量和常量之前。

然而,如果我导入的类/方法/函数只在很少的情况下使用,那么在需要时进行导入肯定会更有效吗?

这不是:

class SomeClass(object):

    def not_often_called(self)
        from datetime import datetime
        self.datetime = datetime.now()

比这更有效率?

from datetime import datetime

class SomeClass(object):

    def not_often_called(self)
        self.datetime = datetime.now()

我一直认为如果不是x是None版本更清楚,但谷歌的风格指南和PEP-8都使用如果x不是None。是否存在任何微小的性能差异(我假设没有),是否存在其中一个确实不适合的情况(使另一个成为我的大会的明显赢家)?*

*我指的是任何单例,而不仅仅是None。

...比较单身人士喜欢 一个也没有。使用是或不是。