Python實用秘技之快速優(yōu)化導包順序詳解
當我們書寫Python
代碼的時候,遵守標準的代碼規(guī)范可以幫助我們提升代碼的可讀性和易維護性。而在常見的Python
代碼規(guī)范中,我們在代碼開頭導包時,建議按照標準庫>第三方庫>自定義庫或相對引用庫的順序組織代碼,且各類型導包邏輯中建議按照字母順序進行排列。
但在日常代碼編寫過程中,我們很難一直手動保持這樣的標準習慣,這時我們就可以使用usort
這個實用的工具來輔助優(yōu)化代碼中的導包順序。
usort
由facebook
即現在的meta
公司進行開源維護,使用pip install usort
進行安裝后,即可直接針對指定的py
文件或整個項目進行導包順序優(yōu)化,以下面的代碼為例,原始的導包順序如下,其中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
通過在終端執(zhí)行usort format main.py
進行優(yōu)化后,導包順序被更新為如下狀態(tài),可以看到優(yōu)化后的導包順序遵循了前面所說的標準規(guī)范:
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
中格式化代碼時,將一些必須在前面執(zhí)行的代碼邏輯誤移動至導包邏輯后的錯誤,譬如下面的warnings.filterwarnings()
,我們需要其在其他所有導包邏輯之前執(zhí)行,以起到屏蔽相關警告信息的作用。
如果是使用ide
中自帶的代碼美化快捷功能,可以看到美化后warnings.filterwarnings()
被強制挪動到最后:
而usort
就智能多了:
到此這篇關于Python實用秘技之快速優(yōu)化導包順序詳解的文章就介紹到這了,更多相關Python優(yōu)化導包順序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
django的auth認證,authenticate和裝飾器功能詳解
這篇文章主要介紹了django的auth認證,authenticate和裝飾器功能詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07用Python展示動態(tài)規(guī)則法用以解決重疊子問題的示例
這篇文章主要介紹了用Python展示動態(tài)規(guī)則法用以解決重疊子問題的一個棋盤游戲的示例,動態(tài)規(guī)劃常常適用于有重疊子問題和最優(yōu)子結構性質的問題,且耗時間往往遠少于樸素解法,需要的朋友可以參考下2015-04-04Anaconda中更新當前環(huán)境的Python版本詳細步驟
Anaconda是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項,下面這篇文章主要給大家介紹了關于Anaconda中更新當前環(huán)境的Python版本的詳細步驟,需要的朋友可以參考下2024-08-08