Python中常見的導入方式總結

一、直接導入模塊

import 模塊名

優點:幹凈直接

import sys
print(sys.path)
import os # os是一個模塊
import os.path # 註意這裡的os.path是一個模塊

二、直接導入包

import 包名

如果隻導入包,在調用時不可使用.來找到模塊,但可以訪問到__init__.py下的類和函數。

import bs4 # 註意這裡bs4是一個包!
soup = bs4.BeautifulSoup(...) # 可以訪問到包中__init__.py下的類和函數

import Mypack
# Mypack.fun.func() 會報錯,找不到fun模塊,需要使用方法3或6來導入特定模塊

三、導入包中的一個模塊

import 包名.模塊名

包使用的註意事項

  • 需要先將包(文件夾)寫在sys.path列表中的一個目錄下,如果沒有需要使用列表的append方法追加進去。
  • 在包中需要再寫一個__init__.py文件表示這是一個包,文件可以為空。在__init__.py下寫的函數和類可以在隻導入包的情況下訪問到(如隻導入bs4包,可以使用BeautifulSoup類,但不可以使用包中的其他模塊)。
import sys
sys.path.append(r"E:\\")

import Mypack.fun
Mypack.fun.func()

四、導入模塊並取別名

import 模塊名 as 別名

優點:別名方便記憶

import sys as s
print(s.path)

import Mypack.fun as f
f.func()

五、從模塊(或者包)中取出特定函數(不建議)

from 模塊名(包名) import 函數名

優點:直接取出特定函數,無需再加命名空間。

缺點:無命名空間限制,容易亂。

from sys import setrecursionlimit
setrecursionlimit(500)

from bs4 import BeautifulSoup # 這裡取出瞭bs4包中__init__.py文件中的BeautifulSoup類
soup = BeautifulSoup(...)

用通配符導入模塊中的所有函數,且無需加命名空間。

from sys import *
setrecursionlimit(500)

六、從包中取出特定模塊

 from 包名 import 模塊名

優點:相較方法3在調用時可以少寫包名。

from Mypack import fun
fun.func()

到此這篇關於Python中常見的導入方式總結的文章就介紹到這瞭,更多相關Python常見導入方式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: