如何快速优化Python导包顺序

简介: 如何快速优化Python导包顺序

我们书写Python代码的时候,遵守标准的代码规范可以帮助我们提升代码的可读性和易维护性。而在常见的Python代码规范中,我们在代码开头导包时,建议按照标准库>第三方库>自定义库或相对引用库的顺序组织代码,且各类型导包逻辑中建议按照字母顺序进行排列。

但在日常代码编写过程中,我们很难一直手动保持这样的标准习惯,这时我们就可以使用usort这个实用的工具来辅助优化代码中的导包顺序😉。

usortfacebook即现在的meta公司进行开源维护,使用pip install usort进行安装后,即可直接针对指定的py文件或整个项目进行导包顺序优化,以下面的代码为例,原始的导包顺序如下,其中demo是同级自定义包:

import pandas as pd
import numpy as np
import feffery_antd_components as fac
import feffery_utils_components as fuc
import re
import dash
from demo import Demo
from dash import html, dcc

通过在终端执行usort format main.py进行优化后,导包顺序被更新为如下状态,可以看到优化后的导包顺序遵循了前面所说的标准规范:

import re
import dash
import feffery_antd_components as fac
import feffery_utils_components as fuc
import numpy as np
import pandas as pd
from dash import dcc, html
from demo import Demo

usort不会犯一些ide中格式化代码时,将一些必须在前面执行的代码逻辑误移动至导包逻辑后的错误,譬如下面的warnings.filterwarnings(),我们需要其在其他所有导包逻辑「之前」执行,以起到屏蔽相关警告信息的作用。

如果是使用ide中自带的代码美化快捷功能,可以看到美化后warnings.filterwarnings()被强制挪动到最后:

usort就智能多了:

相关文章
|
19天前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
64 5
|
2月前
|
Python
下载python所有的包 国内地址
下载python所有的包 国内地址
|
24天前
|
机器学习/深度学习 数据采集 TensorFlow
智能市场营销策略优化:使用Python实现深度学习模型
【10月更文挑战第1天】 智能市场营销策略优化:使用Python实现深度学习模型
149 63
|
2月前
|
机器学习/深度学习 人工智能 算法框架/工具
使用Python实现深度学习模型:智能家电控制与优化
使用Python实现深度学习模型:智能家电控制与优化
82 22
使用Python实现深度学习模型:智能家电控制与优化
|
21天前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
51 6
|
20天前
|
机器学习/深度学习 供应链 Python
使用Python实现深度学习模型:智能供应链管理与优化
使用Python实现深度学习模型:智能供应链管理与优化 【10月更文挑战第4天】
74 0
使用Python实现深度学习模型:智能供应链管理与优化
|
27天前
|
安全 数据安全/隐私保护 UED
优化用户体验:前后端分离架构下Python WebSocket实时通信的性能考量
在当今互联网技术的迅猛发展中,前后端分离架构已然成为主流趋势,它不仅提升了开发效率,也优化了用户体验。然而,在这种架构模式下,如何实现高效的实时通信,特别是利用WebSocket协议,成为了提升用户体验的关键。本文将探讨在前后端分离架构中,使用Python进行WebSocket实时通信时的性能考量,以及与传统轮询方式的比较。
55 2
|
2月前
|
机器学习/深度学习 搜索推荐 数据可视化
Python量化炒股常用的Matplotlib包
Python量化炒股常用的Matplotlib包
28 7
|
2月前
|
数据采集 数据可视化 数据挖掘
Python量化炒股常用的Pandas包
Python量化炒股常用的Pandas包
47 7
|
2月前
|
人工智能 算法 数据处理
Python常用的Numpy包
Python常用的Numpy包
42 7