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