Python中import的用法
import的用法
- import的作用
- 作用一
- 作用二
- 絕對導入與相對導入
- import的其他用法
import的作用
import語句用來導入其他的Python文件(簡稱模塊module),使用該模塊里定義的類、方法或者變量,從而達到代碼復用的目的
作用一
建立文件架構:
如上圖,建立一個test的工作目錄,并在其內建立兩個文件m1.py和m2.py,在m1.py寫入代碼:
在m1.py中鍵入代碼:
在m2.py中鍵入代碼:
def printSeqlf():print(" In m2")運行結果如下:
說明:用上述的方法導入原有的sys.path是沒有問題的,但是,最好不要使用上述方法導入同目錄下的文件!因為這可能會出錯!
作用二
在test目錄下新建一個目錄Branch,在Branch中新建文件m3.py
如下圖所示:
在m3中鍵入代碼:
通過以下代碼在m1中導入m3.py。m1中的代碼如下:
from Branch import m3 #from package_name import imort module_name。 #一般吧模塊組成的幾何稱為包(package)。 m3.printSelf()為了測試作用一在同一子目錄下m3.py能否調用同一子目錄下的m4.py,如上圖所示在branch目錄中建立了m4.py:
代碼如下:
我們在m3.py中調用m4.py
調用的代碼如下:
會報以下錯誤:
錯誤原因:
根據導入流程可知:
m1使用的from Branch import m3導入m3,然后m3.py中import 4導入m4,這邊可知:m4.py和m1.py不在同一個目錄下,不能直接使用import m4導入m4。
絕對導入與相對導入
python2中運行m1.py不會報錯,因為python2中,上面提到的import的兩種寫法屬于相對導入,而在python3中,卻屬于絕對導入,import中最關鍵的部分是相對導入和絕對導入!
對于sys.path中的包,這種寫法不存在問題;導入自己寫的文件,如果是非運行入口文件(上面的m1.py是運行入口文件,可以使用絕對導入),則需要相對導入。
如:上面中非運行入m3.py,導入m4.py使用相對導入:
此時運行m1.py是OK的。相對導入的寫法:
from. import module_name:導入和自己同目錄下的模塊
from.package_name import module_name:導入和自己同目錄的包的模塊
from …import module_name:導入上級目錄的模塊
from …package_name import module_name:導入位于上級目錄下的包的模塊
每多一個點多往上一層目錄
import的其他用法
①:import module_name as alias:某些的module_name名字較長,之后寫它比較麻煩,或者module_name會出現名字沖突,可以使用as進行改名:import numpy as np
②:from module_name import function_name,variable_name,class_name,上面導入的整個模塊,有時候我們只想使用模塊中的某些函數、某些類。使用逗號,可以導入模塊中的多個元素。
總結
以上是生活随笔為你收集整理的Python中import的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF使用GMap.net框架开发地图应
- 下一篇: vscode好用插件——磨刀不误砍柴工!