V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CatCode
V2EX  ›  问与答

有没有什么工具可以格式化 Python 代码?

  •  
  •   CatCode · 2017-11-19 09:08:00 +08:00 · 2928 次点击
    这是一个创建于 2347 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是比如说,

    i = a + 1
    foo(i, a)
    
    def bar():
        pass
    
    def xxx():
        pass
    

    也可以写作:

    i=a+1
    foo(i,a)
    #下面两个 def 之间没有空行
    def bar():
        pass
    def xxx():
        pass
    

    说白了就是空白有没有的问题,这种空白并不影响执行,但是习惯上觉得第一种要好看一些。
    目前主要用 VS Code 和 VS 2017+Python 支持。以前写.Net 的时候,VS 是可以在写完一句之后马上就自动把第二种写法转换成第一种的,但对于 python 不支持。

    请问各位老鸟有何高见?

    9 条回复    2017-11-19 17:13:38 +08:00
    SuperMild
        1
    SuperMild  
       2017-11-19 09:13:32 +08:00 via iPad   ❤️ 3
    菜鸟这个词流传下来了,同期出现的大虾这个词却已经失传。
    slfmessi
        2
    slfmessi  
       2017-11-19 09:20:04 +08:00 via Android
    yapf, autopep8
    czheo
        3
    czheo  
       2017-11-19 09:20:22 +08:00   ❤️ 1
    tracyone
        4
    tracyone  
       2017-11-19 10:06:54 +08:00
    nnoremap <leader>cf :0,$!yapf<CR>
    vnoremap <leader>cf :!yapf<CR>
    infun
        5
    infun  
       2017-11-19 10:19:42 +08:00 via Android
    @SuperMild 大概因为吃大虾不违法,而鸟多是保护动物
    Mirage09
        6
    Mirage09  
       2017-11-19 10:42:06 +08:00 via iPhone
    PyCharm 有一个 reformat code 的功能
    zhusimaji
        7
    zhusimaji  
       2017-11-19 10:59:09 +08:00 via iPhone
    autopep8
    CatCode
        8
    CatCode  
    OP
       2017-11-19 12:13:55 +08:00
    @slfmessi 感谢,我突然在 VS Code 的 Python 插件里面已经支持了
    wlbcs
        9
    wlbcs  
       2017-11-19 17:13:38 +08:00
    使用 PyCharm 的 Ctrl + Alt + L 键
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   981 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:40 · PVG 05:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.