返回顶部
首页 > 资讯 > 后端开发 > Python >一个简单的步骤让你的 Python 代码更干净
  • 565
分享到

一个简单的步骤让你的 Python 代码更干净

代码项目拷贝 2023-05-14 21:05:45 565人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

说起来容易做起来难,我们都知道代码可读性非常重要,但是写的时候总是随心所欲,不考虑类型提示、import 排序、PEP8 规范。今天分享一个小技巧,通过一个简单的步骤就可以让你的 python 代码更干净。这就是 pre-commit:可以

说起来容易做起来难,我们都知道代码可读性非常重要,但是写的时候总是随心所欲,不考虑类型提示、import 排序、PEP8 规范。今天分享一个小技巧,通过一个简单的步骤就可以让你的 python 代码更干净。

这就是 pre-commit:

图片

可以让你的代码提交之前自动检查是否符合你想要的规范。

使用之前,先 pip 安装一下:

pip install pre-commit

然后在项目的根目录下创建两个文件:.pre-commit-config.yaml 和 pyproject.toml。

.pre-commit-config.yaml 文件内容如下:

exclude: _pb2.py$
repos:
- repo: https://GitHub.com/psf/black
rev: 22.3.0
hooks:
- id: black
args: [--skip-string-nORMalization]
- repo: Https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: check-docstring-first
- id: check-JSON
- id: check-merge-conflict
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: trailing-whitespace
- id: requirements-txt-fixer
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
- id: Python-check-mock-methods
- id: python-use-type-annotations
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v0.910"
hooks:
- id: mypy
args:
[
--ignore-missing-imports,
--warn-no-return,
--warn-redundant-casts,
--disallow-incomplete-defs,
]
additional_dependencies: [types-all]
- repo: https://github.com/PyCQA/isort
rev: 5.9.3
hooks:
- id: isort
args: [--profile, black, --filter-files]

这里面配置了 black、mypy、check-docstring-first、isort 等工具,id 就是对应的工具,可以说这个配置文件基本上就够用了。

在 .pre-commit-config.yaml 文件中,我们可以指定将使用哪些挂钩,在 pyproject.toml 中,我们可以为这些单独的钩子指定参数。

pyproject.toml 文件内容如下:

[tool.black]
line-length = 88
target-version = ["py38"]

[tool.isort]
profile = "black"
multi_line_output = 3

这里配置了 black 和 isort 的相关配置。

然后执行在项目的根目录执行 pre-commit install 命令,就可以安装 pre-commit 插件

然后每次更新代码,提交代码时,这些钩子都会触发,会自动执行如下操作:

排序 import

PEP8 的格式代码

检查您的 yaml 和 json 文件的正确性

类型检查(如果你使用了类型提示)

图片

最后

你可以将这两个文件拷贝到自己的项目根目录中,然后执行一次 pre-commit install,这样每次提交代码的时候,都是干净的代码,是不是很方便?

以上就是一个简单的步骤让你的 Python 代码更干净的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 一个简单的步骤让你的 Python 代码更干净

本文链接: https://lsjlt.com/news/205590.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一个简单的步骤让你的 Python 代码更干净
    说起来容易做起来难,我们都知道代码可读性非常重要,但是写的时候总是随心所欲,不考虑类型提示、import 排序、PEP8 规范。今天分享一个小技巧,通过一个简单的步骤就可以让你的 Python 代码更干净。这就是 pre-commit:可以...
    99+
    2023-05-14
    代码 项目 拷贝
  • 一篇文章教你写出干净的JavaScript代码
    目录1. 变量使用有意义的名称避免添加不必要的上下文避免硬编码值2. 函数使用有意义的名称使用默认参数限制参数的数量避免在一个函数中做太多事情避免使用布尔标志作为参数避免写重复的代码...
    99+
    2024-04-02
  • JavaScript单例模式:让你的代码更加简洁而强大
    JavaScript单例模式是一种设计模式,它确保某个类只有一个实例,无论创建多少对象。这种模式对于保持全局范围内的数据和状态的一致性非常有用。 JavaScript单例模式有多种实现方式,最简单的一种就是使用一个全局变量来存储实例。例...
    99+
    2024-02-06
    JavaScript 单例模式 模式 实例 全局 数据 状态
  • python的一些简单的程序代码,python的简单程序代码
    大家好,给大家分享一下python的一些简单的程序代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!   Python 100个简单小例子(持续更新中) 1 编写一个计算平年还是闰年的小例子其核心是年份可以整除4和...
    99+
    2023-10-10
    python
  • JavaScript 代码优化秘籍:如何让你的代码更简洁、更高效
    作为一名 JavaScript 开发人员,优化代码是至关重要的。优化代码可以提高性能、可读性和可维护性。本文将分享一些常用的 JavaScript 代码优化技巧,帮助您写出更优质的代码。 1. 使用严格模式 严格模式可以帮助您发现代码中...
    99+
    2024-02-27
    JavaScript 代码优化、性能、可读性、可维护性、代码质量
  • Python 同步函数对象:如何让你的代码更高效?
    在 Python 中,同步函数对象是一个非常重要的概念。同步函数对象是一种特殊的函数对象,它可以在多线程或多进程环境中同步访问共享资源。Python 提供了多种同步函数对象,包括锁、信号量、事件等。使用同步函数对象可以有效地避免并发访问共...
    99+
    2023-08-27
    同步 函数 对象
  • 教你用Java实现一个简单的代码生成器
    前言 逆向工程从数据库表直接生成代码,是日常开发中常用的敏捷开发手段,常见的例如:mybatis-plus的代码生成器等 为什么要自己写代码生成器呢?MP的生成器不香吗?香! 但是自...
    99+
    2024-04-02
  • Python 容器:让你的代码更易于维护?
    Python 是一种非常流行的编程语言,它以其简洁、易读的语法和强大的功能而受到广泛的欢迎。作为一门高级编程语言,Python 提供了丰富的内置数据类型,如列表、元组、字典、集合等,这些数据类型被称为容器。Python 容器提供了一种更有...
    99+
    2023-07-02
    容器 http shell
  • 有哪些让日常编码更简单的Python库
    本篇内容介绍了“有哪些让日常编码更简单的Python库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sh如果曾经在 Python 中使用过 ...
    99+
    2023-07-06
  • 如何让 Java 函数和 Laravel 同步,让你的代码更高效?
    随着业务的不断发展,我们的代码也在不断地更新迭代。在软件开发的过程中,我们经常会遇到需要在 Java 函数和 Laravel 中进行数据传输的情况。当我们将两个不同的系统集成在一起时,我们需要确保它们之间的通信是无缝的,并且数据能够正确地...
    99+
    2023-10-25
    函数 laravel 同步
  • 你知道吗?PHP 函数 API 可以让你的代码更简洁!
    PHP 是一种广泛使用的编程语言,它在 Web 开发中扮演着重要的角色。PHP 函数 API 是该语言的一个重要特性,可以让开发人员更轻松地编写代码。本文将介绍 PHP 函数 API 的基本知识,并演示如何使用它来编写更加简洁的代码。 什么...
    99+
    2023-11-06
    函数 api 教程
  • 教你使用Python写一个简单的JSONParser
    目录引言JSON TokenizerJSON Parser引言 最近在学习 Python 的正则表达式内容,我看的是官方的文档,在文档的最后有一个例子,勾起了我的兴趣。它是用正则表达...
    99+
    2023-05-14
    Python JSONParser 简单 JSONParser
  • 你知道吗?Git 和 NumPy 可以让你的 PHP 代码更简洁、更高效!
    在现代软件开发中,代码版本管理以及高效的数据处理都是非常重要的。如果你是一个 PHP 开发者,你可能会很想了解如何使用 Git 和 NumPy 去简化你的代码,提高你的效率。在这篇文章中,我们将深入探讨这两个工具是如何帮助你的 PHP 项...
    99+
    2023-10-24
    教程 git numy
  • PHP 函数 API:一个强大的工具,让你的代码更加高效!
    PHP 函数 API 是一个强大的工具,可以让你的代码更加高效。它是 PHP 语言中最重要的部分之一,可以帮助你完成各种任务,从简单的字符串操作到复杂的数据库查询。在本文中,我们将深入探讨 PHP 函数 API,并演示如何使用它来编写更高...
    99+
    2023-11-06
    函数 api 教程
  • python实现一个简单的贪吃蛇游戏附代码
    前言: 不知道有多少同学跟我一样,最初接触编程的动机就是为了自己做个游戏玩? 今天要给大家分享的是一个 pygame 写的“贪吃蛇”小游戏: “...
    99+
    2024-04-02
  • Python和Git的结合,让你的代码管理更高效?
    在软件开发中,代码管理是一个不可或缺的环节。Git是目前最流行的版本控制工具之一,而Python则是一种广泛使用的编程语言。将这两个工具结合起来,可以帮助我们更高效地管理代码。 本文将介绍如何使用Python和Git进行代码管理,并演示一...
    99+
    2023-10-09
    git leetcode apache
  • 零代码的小程序平台让编程变得更简单
    随着数字化时代的到来,各种技术应用不断涌现。特别是在移动互联网和物联网的大背景下,用户对于个性化服务和便捷应用的需求也日益增长。零代码的小程序平台,作为新兴的技术趋势,以其简单易用、无需编码的特性,正在逐渐改变传统编程的面貌。 一、什么是零...
    99+
    2023-11-23
    代码 简单 程序
  • Python 打包 api:如何让你的代码更加灵活?
    Python 是一种高级编程语言,它被广泛应用于数据科学、机器学习、人工智能和网络编程等领域。由于 Python 具有良好的可读性和易用性,因此越来越多的人开始使用它来开发自己的项目。然而,当你需要将你的 Python 代码分享给他人时,...
    99+
    2023-07-24
    打包 api 关键字
  • 优化 Python 程序性能:让你的代码更流畅
    代码分析 代码分析工具可以识别代码中的瓶颈并建议改进。以下是一些流行的工具: cProfile:分析函数调用和时间消耗。 profile:内置工具,提供调用图和统计信息。 SnakeViz:可视化代码执行时间,便于快速识别瓶颈。 演...
    99+
    2024-02-15
    Python 性能优化 代码分析 数据结构 算法
  • Numpy库在LeetCode上的应用:让你的代码更加简洁高效
    随着互联网的发展,各种技术面试已经成为了很多公司筛选人才的标准。在这些面试当中,算法和数据结构是必考的题目。而LeetCode是一个非常好的刷题平台,这里有许多公司的真实面试题目,而且还有大量的算法和数据结构题目供我们练习。 在刷Leet...
    99+
    2023-08-05
    numpy 关键字 leetcode
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作