你能體會(huì)那種寫 Python 時(shí)不用 import 的幸福嗎
在寫 Python 程序的時(shí)候,我們需要依賴一些庫,所以一開始我們總是:
- import xxx as xxx
- from xxx import xxx
我們有時(shí)候?qū)懼鴮懼l(fā)現(xiàn)需要引入新的庫,就又得回到前面,再 import 一波,如果你用的是類似 jupyter 的編輯器,你添加完 import 語句之后還得再運(yùn)行一下代碼塊。
這些操作往往都是重復(fù)性的,比如我們玩數(shù)據(jù)可視化的時(shí)候,總會(huì)這樣去 import 相關(guān)的庫:
- import pandas as pd
- import numpy as np
- import seaborn as sns
- ...
這時(shí)候有人就想到,哇靠,真麻煩,能不能不要每次都自己導(dǎo)入這些庫啊?你已經(jīng)是個(gè)成年人了,能不能在我寫代碼調(diào)用到相關(guān)庫的時(shí)候,你給老子自動(dòng)導(dǎo)入啊?別報(bào)錯(cuò)啊!
像這樣:

可以看到,在這里不用事先 import ,而是當(dāng)使用到相關(guān)庫的時(shí)候,自動(dòng)在第一行幫我們 import,幸福啊!
怎么弄的咧?
接下來小帥b要給你分享的是——Pyforest,一個(gè)可以自動(dòng)幫你 import 的庫。
這個(gè)庫把一些流行的數(shù)據(jù)分析需要的 「import 語句」都封裝起來了。
它具有「懶加載」的功能,也就是說,當(dāng)你安裝完之后,你在代碼中使用到相關(guān)的庫的時(shí)候,它就會(huì)幫你自動(dòng) import。而那些封裝好了的 import 語句,在你沒有使用到時(shí)是不會(huì)幫你一股腦 import 進(jìn)來的。
你可以通過 pip 安裝一波:
- python pip install --upgrade pyforest
安裝完成后,你的 IPython 啟動(dòng)配置會(huì)默認(rèn)添加 pyforest_autoimport.py,這樣我們在使用 IPython 或者 Jupyter 的時(shí)候,可以直接使用它的功能,你在寫代碼時(shí)連它本身都不需要 import:
- import pyforest
比如當(dāng)你安裝完之后,你可以直接打開 IPython,在不用寫 import 語句的情況下,直接使用相關(guān)的庫:


你可以看到,我這里的操作是直接使用庫的簡稱,這是因?yàn)槿思以趯?LazyImport 的時(shí)候,已經(jīng)按我們寫代碼的習(xí)慣安排好了:

怎么樣?
當(dāng)然,這里面封裝的 import 語句更多是做數(shù)據(jù)可視化相關(guān)的,那么如果你自己還想添加一些別的 import 語句進(jìn)去,咋整呢?
很簡單,進(jìn)入到你安裝的 pyforest 中,在 user_imports.py 中添加即可,一般路徑如下:
- ~/.pyforest/user_imports.py
比如,我在這里添加一個(gè) import requests 的語句:

接著我就可以在不用導(dǎo)入 requests 的情況下,直接請求了:

你完全可以根據(jù)你自己的習(xí)慣,在 user_imports.py 添加 import 語句。
媽媽再也不用擔(dān)心,每次依賴庫的時(shí)候都需要寫 import 了。
這個(gè)庫比較適合在Jupyter Notebook, Jupyter Lab 或者 IPython 中使用,如果你想在別的地方也使用它,可以先導(dǎo)入 Pyforest,接著就可以使用你已經(jīng)封裝好的 import 語句,像這樣:

OK,以上就是小帥b今天給你帶來的分享,如果你之前沒了解過這個(gè),不妨去試試,它會(huì)讓你心情變好的呢,希望對你有幫助。
























