Python中如何缩短不符合PEP8规范的长代码行并关闭高亮提示

sublime 的 anaconda 插件升级了后,所有写的代码都被高亮了(一行太长了),怎么按要求格式化?自带的 autope8 只能格式化少量的,大部分还是不能自动格式化

2di3jL.png


Python中如何缩短不符合PEP8规范的长代码行并关闭高亮提示
12 回复

要缩短PEP8超长代码行,可以用这几个方法:

  1. 用反斜杠 \ 换行(字符串和表达式都行):
long_string = "这是一段非常长的字符串,\
               用反斜杠换行后就能符合PEP8规范了"
result = value1 + value2 + \
         value3 + value4
  1. 括号自然换行(推荐):
# 列表、元组、字典
my_list = [
    'item1', 'item2', 'item3',
    'item4', 'item5', 'item6'
]

# 函数参数
result = some_function(
    arg1, arg2, arg3,
    arg4=value4, arg5=value5
)
  1. 字符串拼接
long_string = (
    "第一部分"
    "第二部分"
    "第三部分"
)

关闭编辑器高亮提示

  • VS Code:设置里搜 python.linting.pylintEnabled 关掉,或者加 # noqa 在行尾
  • PyCharm:右键警告 → Suppress for statement,或在设置里调 Hard wrap at
  • 通用方法:项目根目录加 .flake8 文件:
[flake8]
max-line-length = 120  # 放宽到120字符
ignore = E501,W503    # 忽略行太长和操作符位置警告

总结建议:优先用括号自然换行,实在不行再用反斜杠。

call plug#begin(’~/.vim/plugged’)
Plug 'Valloric/YouCompleteMe’
Plug 'w0rp/ale’
call plug#end()


set ai
set sw=4
set ts=4
set sts=4

"pip3 install jedi
let g:ycm_python_binary_path = ‘/usr/local/bin/python3’

"pip3 install yapf
let b:ale_fixers = [‘yapf’]

老铁,这怎么用的啊

明显的 vim 配置文件啊,gayhub 上的一个项目抄来的,作者还写了一本书

这种 dict 嘛还是断行看得清楚点,缺点嘛就是注释的时候不能直接注释一行了。
另外可以改 anaconda 的配置文件,对行内长度这条不要高亮。毕竟 useragent 啥的纯长 str 写断行不大自然。

/手动捂脸,怎么用啊

彻底点,太长超过 80 字符的,就分行重写。

# 参考右边的 Google Python Style Guide

算了,你不会 vim

装个 pycharm 吧。。

有 pycharm, ctrl+alt+l 格式化了下,在 sublime 上仍是不符合

关掉 pep8 的验证,就不会有高亮了

回到顶部