「Python实用秘技14」快速优化Python导包顺序
本文完整示例代码及文件已上传至我的
Github
仓库https://github.com/CNFeffery/PythonPracticalSkills
这是我的系列文章「Python实用秘技」的第14期,本系列立足于笔者日常工作中使用Python
积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。
作为系列第14期,我们即将学习的是:快速优化Python
导包顺序。

当我们书写Python
代码的时候,遵守标准的代码规范可以帮助我们提升代码的可读性和易维护性。而在常见的Python
代码规范中,我们在代码开头导包时,建议按照标准库>第三方库>自定义库或相对引用库的顺序组织代码,且各类型导包逻辑中建议按照字母顺序进行排列。
但在日常代码编写过程中,我们很难一直手动保持这样的标准习惯,这时我们就可以使用usort
这个实用的工具来辅助优化代码中的导包顺序😉。
usort
由facebook
即现在的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
就智能多了:

本期分享结束,咱们下回见~👋
作者:Feffery
出处:https://www.cnblogs.com/feffery/p/17483380.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?