Python基础学习之 import 用法详解
Python基礎學習之 import 用法
文章目錄
- Python基礎學習之 import 用法
- 1. 直接引入模塊; import 模塊名;
- 2. from 模塊/包 import 模塊/函數;
- 例一:直接引入模塊
- 例二:引入模塊中的所有函數
- 例三:引入模塊中的指定函數
- 例四:相對應用報錯的解決辦法
- 3. 引用不同文件下的 包或模塊;
- 方法一:通過模塊引用;
- 方法二:通過包的引入;
- 4. 引入函數名沖突
- 4.1 函數名沖突的原因
- 4.1 Python搜索模塊的順序:
1. 直接引入模塊; import 模塊名;
import 模塊名,這時python可以引入以下兩種模塊; 舉例如下:
備注: import 模塊名 as 別名;可以給引入的模塊一個別名,方便使用;
2. from 模塊/包 import 模塊/函數;
以 random 模塊舉例:
我們知道,random 是一個包的名字,在random包中有很多函數,例如:random(), randint() 等;下面講一下兩種引入方式用法上的不同:
例一:直接引入模塊
import random # 直接引用時 print(random.random()) # 想要調用random包中的函數,需要使用 random.函數名 的方式來調用,不能直接調用例二:引入模塊中的所有函數
from random import * # 這種方式是將所有random 包中的內容全部導入進來了, print(random()) # 這時候的函數可以直接引用,不再需要 random.函數名 來使用了;例三:引入模塊中的指定函數
from random import random,randint # 指定引入的函數,其他函數不引入print(random()) print(randint(1, 10))例四:相對應用報錯的解決辦法
文件結構如下:其中每個A.py, B.py, C.py 文件中的內容為定義一個函數 fun() 打印文件名;
整個目錄路徑為:D:\PY_useful\import_intro
.py文件中的代碼:
# A.py def fun():print('It is A.py')# B.py def fun():print('It is B.py')# C.py def fun():print('It is C.py')在B_2.py 中引用A.py 中的fun();
# 錯誤的做法: # 這時候,由于B_2.PY 在文件夾B_2中,所以按照相對引用來解析地址,我們會寫出以下代碼: from ...A import A # . 表示當前目錄,.. 表示父目錄, ...表示父目錄的父目錄;這是會報錯:ValueError: attempted relative import beyond top-level package;
相對引用就會出現這樣的錯誤,解決辦法如下: 在環境變量地址中,加入頂級目錄的路徑,然后從高向低引用;
在C.py中引用B_2.py 模塊;
# B_2.PY 的內容如下: import sys sys.path.append(r'D:\PY_useful\import_intro')from A import A A.fun() # 輸出:It is A.pyfrom A.A import fun fun() # 輸出:It is A.pydef fun():print('It is B_2')方法一:引用模塊
from B.B_2 import B_2 B_2.fun() # 或者: from B.B_2.B_2 import fun fun()輸出:
It is A.py # 在引入模塊的時候,會執行一次模塊的內容,所以這里輸出了兩次 It is A.py It is A.py It is B_23. 引用不同文件下的 包或模塊;
前期準備:為說明引入的方法,我們先在:D:\PY_useful文件夾中創建文件夾 File_4,File_4中創建M4.py文件,M4.py 中的內容為:
# M4.py 的內容; def Func4():print('In Func4')如果想在別的地方,引用這里的Func4() 函數,有兩種方法:
方法一:通過模塊引用;
首先需要將模塊所在的路徑(D:\PY_useful\File_4),加入環境變量路徑中,然后通過引用模塊,來使用Func4()函數;
a. 引入模塊,然后通過模塊調用函數
b. 直接引入模塊中的函數
import syspath_add = r'D:\PY_useful\File_4' # 模塊所在的路徑 sys.path.append(path_add) # 把路徑添加到環境變量中from M4 import Func4 Func4()方法二:通過包的引入;
首先需要將包(我們把File_4當作包)所在的路徑(D:\PY_useful),加入環境變量路徑中,然后通過引用包,來使用模塊,再通過模塊調用Func4()函數;
備注:當程序不能把文件夾當作包時,在文件夾中建立空的py文件,文件名修改為: __init__.py , 有了這個空文件,文件夾會被python程序理解成包;
a. 通過包,引入模塊來調用函數;
import syspath_add = r'D:\PY_useful' # 包所在的路徑 sys.path.append(path_add) # 把路徑添加到環境變量中from File_4 import M4 M4.Func4()b. 通過包,引入模塊,再引入指定函數;
import syspath_add = r'D:\PY_useful' # 模塊所在的路徑 sys.path.append(path_add) # 把路徑添加到環境變量中from File_4.M4 import Func4 Func4()4. 引入函數名沖突
4.1 函數名沖突的原因
想要解決函數名沖突,我們必須先明白Python的搜索模塊順序,python 按照順序搜索模塊,找到匹配項便會直接返回,不再向后查找,所以當有函數名相同的情況發生時,先被找到的函數會被執行;
4.1 Python搜索模塊的順序:
上面的順序,使用sys.path 就可以看到,不需要記,記住sys.path 就可以啦~;
import sys for i in sys.path:print(i)輸出:
D:\PY_useful\import_intro\F1\F2 # 這是 .py 文件所在的位置 D:\PY_useful\import_intro # 這是 項目目錄 C:\ProgramData\Anaconda3\python36.zip #下面這幾個是python自己的目錄 C:\ProgramData\Anaconda3\DLLs C:\ProgramData\Anaconda3\lib C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\lib\site-packages # 下面是安裝模塊的目錄 C:\ProgramData\Anaconda3\lib\site-packages\win32 C:\ProgramData\Anaconda3\lib\site-packages\win32\lib C:\ProgramData\Anaconda3\lib\site-packages\Pythonwin如果有什么問題,歡迎留言喲~
總結
以上是生活随笔為你收集整理的Python基础学习之 import 用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html蔚蓝网注册页面,如何在网站中添加
- 下一篇: python中的乘方_python乘方_