首頁  >  文章  >  後端開發  >  python中import如何使用

python中import如何使用

coldplay.xixi
coldplay.xixi原創
2021-03-05 14:35:2725998瀏覽

使用python中import的方法:1、【import module_name】,即import後面直接接模組名;2、【from package_name import module_name】把模組組成的集合。

python中import如何使用

本教學操作環境:windows7系統、python3.9版,DELL G3電腦。

使用python中import的方法:

首先,先建立一個資料夾Tree作為工作目錄,並在其內建立兩個檔案m1.py和m2 .py,在m1.py寫入程式碼:

import os
import m2
m2.printSelf()

在m2.py寫入程式碼:

def printSelf():
print('In m2')

開啟命令列,進入到Tree目錄下,敲下python m1.py運行,發現沒有報錯,且印出In m2,表示這樣使用import沒有問題。由此我們總結出import語句的第一種用法。

<strong>import module_name</strong>即import後直接接模組名。在這種情況下,Python會在兩個地方尋找這個模組,第一個是sys.path(透過執行程式碼import sys; print(sys.path)檢視),os這個模組所在的目錄就在列表sys.path中,一般安裝的Python庫的目錄都可以在sys.path中找到(前提是要將Python的安裝目錄加入電腦的環境變數),所以對於安裝好的函式庫,我們直接import即可。第二個地方就是運行檔案(這裡是m1.py)所在的目錄,因為m2.py和運行檔案在同一目錄下,所以上述寫法沒有問題。

用上述方法導入原有的sys.path中的函式庫沒有問題。但是,最好不要用上述方法導入同目錄下的檔案!因為這可能會出錯。示範這個錯誤需要用到import語句的第二種寫法,所以先來學一學import的第二種寫法。在Tree目錄下新建一個目錄Branch,在Branch中新檔案m3.py,m3.py的內容如下:

def printSelf():
print(&#39;In m3&#39;)

如何在m1中導入m3.py呢,請看更改後的m1.py :

from Branch import m3
m3.printSelf()

總結import語句的第二個用法:

<strong>from package_name import module_name</strong>#。 一般把模組組成的集合稱為套件(package)。與第一種寫法類似,Python會在sys.path和執行檔案目錄這兩個地方尋找套件,然後導入套件中名為module_name的模組。

現在我們來說明為什麼不要用import的第一種寫法來導入同目錄下的檔案。在Branch目錄下新建m4.py文件,m4.py的內容如下:

def printSelf():
print(&#39;In m4&#39;)

然後我們在m3.py中直接導入m4,m3.py變成:

import m4
def printSelf():
print(&#39;In m3&#39;)

這時候運行m1.py就會報錯了,說沒辦法導入m4模組。為什麼呢?我們來看看導入流程:m1使用from Branch import m3導入m3,然後在m3.py中用import m4導入m4。看出問題了嗎? m4.py和m1.py不在同一目錄,怎麼能直接使用import m4導入m4呢。 (讀者可以試試直接在Tree目錄下新建另一個m4.py文件,你會發現再運行m1.py就不會出錯了,只不過導入的是第二個m4.py了)

面對上面的錯誤,使用python2運行m1.py就不會報錯,因為在python2中,上面提到的import的兩種寫法都屬於相對導入,而在python3中,卻屬於絕對導入。話說到了這裡,就要牽扯到import中最關鍵的部分了——相對導入和絕對導入。

我們還是談論python3的import用法。上述的兩種寫入方法屬於絕對導入,也就是用於導入sys.path中的套件和執行檔案所在目錄下的套件。對於sys.path中的包,這種寫法毫無問題;導入自己寫的文件,如果是非運行入口文件(上面的m1.py是運行入口文件,可以使用絕對導入),則需要相對導入。

例如對於非運行入口檔案m3.py,其導入m4.py需要使用相對導入:

from . import m4
def printSelf():
print(&#39;In m3&#39;)

這時候再運行m1.py就ok了。

相關免費學習推薦:python影片教學

#

以上是python中import如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn