当前位置:

首页 > 编程开发 > Python 语言的自动格式化工具

Python 语言的自动格式化工具

每种编程语言都有自己专属的格式化工具,比如golang语言的gofmt,JavaScript语言的prettier,php语言的php-cs-fixer,和这些编程语言类似,python也有自己的自动化格式工具,不过不同的是,它有很多个格式化工具,接下来我们就来看看这些不同的格式化工具究竟有什么不同。autopep8这个是最早的python格式化代码工具,它采用pycodestyle来分析代码,然后对于不符合pep风格的代码进行修复。同时,它还会修复一些已经弃用的代码,并且规范

本文目录

    每种编程语言都有自己专属的格式化工具,比如 golang 语言的 gofmt,JavaScript 语言的 prettier,php 语言的 php-cs-fixer,和这些编程语言类似,python 也有自己的自动化格式工具,不过不同的是,它有很多个格式化工具,接下来我们就来看看这些不同的格式化工具究竟有什么不同。

    autopep8

    这个是最早的 python 格式化代码工具,它采用 pycodestyle 来分析代码,然后对于不符合 pep 风格的代码进行修复。同时,它还会修复一些已经弃用的代码,并且规范代码的结尾,对于一些方法和函数添加一些空行分隔符。

    autopep8 是支持通过配置文件进行格式化声明的,它支持。cfg,.ini  .pep8 .flake8 等格式的配置文件。目前他在 github 上有 4200 多个点赞。

    yapf

    这是一个谷歌推出的格式化工具,因为有大厂背书,所以它发展的很快,目前在 github 上有 13000 个点赞。他不会检查 pep 准则,它只会格式化代码。它采取的是类似于​​clang-format​​的思想,就是读取整个文件代码,然后格式化成最佳的格式。

    它是一个可配置的代码格式方案,不同的配置会导致不同的格式化结果,目前主流的配置有 pep8,google,facebook,chromium 等。此外,它还支持自定义配置方案,通过​​--style​​即可指定格式样式。

    x = {'a':37,'b':42,
    
    'c':927}
    
    y = 'hello ''world'
    z = 'hello '+'world'
    a = 'hello {}'.format('world')
    class foo( object):
    def f(self ):
    return 37*-+2
    def g(self, x,y=42):
    return y
    def f( a )
    return37+-+a[42-x :y**3]

    上面杂乱无章的代码经过​​yapf​​格式化后,就会变得很规整,更加容易阅读。

    x = {'a': 37, 'b': 42, 'c': 927}
    
    y = 'hello ' 'world'
    z = 'hello ' + 'world'
    a = 'hello {}'.format('world')
    
    class foo(object):
    def f(self):
    return 37 * -+2
    
    def g(self, x, y=42):
    return y
    
    def f(a):
    return 37 + -+a[42 - x:y**3]
    

    black

    black 是最近几年新推出的 python 代码格式化工具,虽然是最新推出的,然而它却是最受欢迎的,目前它在 github 上的点赞是 30000 多。

    Python 语言的自动格式化工具

    black 号称毫不妥协的代码格式化工具。也就是说,它默认不许你也不需要你手动进行代码格式的细节调整。

    Python 语言的自动格式化工具

    它具有非常高效的速度,并且被很多项目所采用。

    Python 语言的自动格式化工具

    Black 拥有全面的测试套件,具有高效的并行功能测试,

    下面是使用 black 的一些组织:Facebook,Dropbox,KeepTruckin,Mozilla,Quora, Duolingo,QuantumBlack,Tesla,Archer Aviation。

    你可以看到,非常多的著名公司使用它来格式化 python 代码,只因为它太好用了,太方便了。

    总结

    autopep8 几乎已经被放弃了,这从 github 上的点赞数就可以看出来,yapf 具有更加灵活的,高度定制化的格式化方案,而 black 则让程序看起来更加统一和优雅,并且可以避免复杂的配置。

    Python 语言的自动格式化工具

    如果你公司或者你正在使用 python 进行项目的开发,那么选择一款代码格式化工具是非常必要的,它可以让你的开发团队节省大量时间。而且无论是你的个人代码还是其他人的代码格式看起来都是一样的,这样每个人阅读其他人的代码都会是一件幸福的事情。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python 格式化
    相关文章 更多
    python删除一个列表里的重复元素的方法与代码示例
    python删除一个列表里的重复元素的方法与代码示例

    学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

    Python写接口的步骤及完整代码示例
    Python写接口的步骤及完整代码示例

    详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

    codex怎么读取word文档及docx文件操作教程
    codex怎么读取word文档及docx文件操作教程

    介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

    怎么在Python中调用C语言代码提升性能
    怎么在Python中调用C语言代码提升性能

    详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

    Python与C语言的性能差异及底层原理
    Python与C语言的性能差异及底层原理

    深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

    Python和C语言哪个更适合编程入门
    Python和C语言哪个更适合编程入门

    客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    langgraph python guide中文入门教程详解
    langgraph python guide中文入门教程详解

    本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

    Windows 安装 Python:从官方入口到虚拟环境的可复现实践
    Windows 安装 Python:从官方入口到虚拟环境的可复现实践

    面向后端开发者,基于 Python 官方文档说明如何在 Windows 上安装 Python、创建 venv 虚拟环境及使用 pip 管理依赖。包含可复制命令、验证方法及工具选择边界,避免常见配置误区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。