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