我试图将我的源代码保持在PEP8建议的80字符指南宽度之下,但是无法弄清楚如何包装结果长于80个字符的doctest.
一个愚蠢的例子:
def long_string():
"""
Returns a string which is wider than the recommended PEP8 linewidth
>>> print long_string()
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
"""
return '0123456789' * 10
Run Code Online (Sandbox Code Playgroud)
我尝试了几种组合,包括使用# doctest: +NORMALIZE_WHITESPACE和尝试用换行符简单地换行.
如何格式化符合PEP8的长断言语句?请忽略我的例子的人为性质.
def afunc(some_param_name):
assert isinstance(some_param_name, SomeClassName), 'some_param_name must be an instance of SomeClassName, silly goose!'
Run Code Online (Sandbox Code Playgroud)
无法将其包装在括号中,因为它会更改assert语句的行为,因为它是关键字,而不是内置函数.
PEP8清楚地指定了79个字符,但是,PyCharm默认为120并且给我警告"PEP8:行太长(...> 120个字符)".
先前版本的PEP8使用120而PyCharm是否未更新其PEP8检查程序?我找不到任何以前版本的PEP8指南,但是,我可以很容易地找到以前版本的PEP8 Python脚本.
我正在开始一个新的Python项目,我不确定要使用哪个.
参考文献:
我有兴趣知道程序部分之间的换行符的Python约定是什么?例如,考虑一下:
import os
def func1():
def func2():
Run Code Online (Sandbox Code Playgroud)
什么应该是理想的换行间隔:
import模块和功能呢?我已经阅读了PEP8,但我想确认以上两点.
这只是一个历史目的的好奇心:
我想知道是否有人知道为什么广泛使用的(和核心模块)日志记录 不遵循Python的PEP-8命名约定.
例如,在
>>> import logging
>>> log = logging.getLogger("hello")
Run Code Online (Sandbox Code Playgroud)
我希望它是get_logger,但事实并非如此.
在功能名称方面,PEP8标准说:
只有在已经是主流风格(例如threading.py)的上下文中才允许使用mixedCase,以保持向后兼容性.
那是这样的吗?如果是这样,还有什么其他logging东西必须保持向后兼容性?或者仅仅是开发人员logging感觉喜欢使用驼峰式命名?
当然,该模块已有详细记录,并不是什么大不了的事.我只是好奇.
是否有一种简单的方法来检查iPython笔记本代码在编写时是否符合PEP8?
如何在Visual Studio代码中抑制pep8警告?我想要做的是抑制E501警告我不希望得到警告我的代码长度超过80个字符.我正在使用Don Jayamanne的Python扩展,这是我的vscode配置文件
{
"python.linting.pylintEnabled": false,
"python.linting.pep8Enabled": true,
"python.pythonPath": "/workspace/virtualenvs/abr/bin/python3",
"python.linting.enabled": true
}
Run Code Online (Sandbox Code Playgroud)
我知道还有另外一个选项"python.linting.pep8Args":[]但是我无法让它工作.我在virtualenv上安装了pep8
我已经尝试过的.
我正在尝试将现有项目导入PyCharm.我可以重构代码,以便PyCharm会很高兴,但我们喜欢在字典中的冒号周围有空格,如下所示:{"A" : "B"}.我们也喜欢调整作业:
a = 1
abc = 3
Run Code Online (Sandbox Code Playgroud)
有没有办法配置PyCharm,这样他就会忽略与这些特定内容相关的所有错误/警告?
我开始在一些项目中使用PyQt,而且我遇到了风格困境.PyQt的函数使用驼峰的情况,但我更喜欢遵循的PEP8表示使用下划线和函数名称的全部小写.
所以一方面,我可以继续关注PEP8,这意味着我的代码将混合函数调用驼峰大小写和下划线函数,甚至我的类也会有混合函数名,因为我需要重载函数如mousePressEvent .或者,我可以打破PEP8,并以一致性的名义为我的所有函数名称采用驼峰案例.
我意识到这是主观的,这真的是我个人喜欢的,但我喜欢听别人说他们做了什么以及他们选择这样做的原因.
据我所知,在unix中,最好总是在文件末尾有空行 - 换句话说:每一行都应该以\n.
在用PEP8检查我的python代码时,我注意到它还指出应该\n在文件末尾:
W292 no newline at end of file
JCR: The last line should have a newline.
Run Code Online (Sandbox Code Playgroud)
奇怪的是,它与W391发生冲突:
W391 blank line at end of file
JCR: Trailing blank lines are superfluous.
Okay: spam(1)
W391: spam(1)\n
Run Code Online (Sandbox Code Playgroud)
怎么样?我应该在文件末尾有空行吗?