Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析
本文實(shí)例講述了Python模塊的定義,模塊的導(dǎo)入,__name__用法。分享給大家供大家參考,具體如下:
相關(guān)內(nèi)容:
- 什么是模塊
- 模塊的導(dǎo)入
- 模塊的導(dǎo)入
- 自模塊的導(dǎo)入
- 同級(jí)目錄導(dǎo)入
- 不同級(jí)目錄導(dǎo)入
- 目錄內(nèi)導(dǎo)入目錄外
- 目錄外導(dǎo)入目錄內(nèi)
- __name__
什么是模塊:
在Python中,模塊就是一個(gè)個(gè)方法和類的倉(cāng)庫(kù),如果我們想要使用某個(gè)模塊中的某個(gè)方法或類,那么我們就需要導(dǎo)入對(duì)應(yīng)的模板。
【python有內(nèi)置方法、類,所以有些方法我們并不需要導(dǎo)入模塊】
模塊的使用:模塊.函數(shù) , 模塊.類
#函數(shù) import math print(math.sqrt(3)) #類 import threading a=threading.Thread() print(a)
模塊的導(dǎo)入:
-
模塊導(dǎo)入:
- import 模塊名
#import 模塊名 import math print(math.sqrt(9))
- from…import 語(yǔ)句:從模塊中導(dǎo)入一個(gè)指定的部分,如類、方法,其中from…import * 代表導(dǎo)入全部?jī)?nèi)容
#from 模塊名 import 類名、方法名 from collections import Iterable print(isinstance("abc",Iterable)) print(isinstance([1,2,3],Iterable))
- from…import導(dǎo)入的時(shí)候還能給導(dǎo)入的部分起個(gè)自定義的名字:如:from … import funcA as fa
-
自模塊導(dǎo)入:
Python import 的搜索路徑
1.在當(dāng)前目錄下搜索該模塊
2.在環(huán)境變量 PYTHONPATH 中指定的路徑列表中依次搜索 【可以從sys.path中獲取】
import sys print(sys.path) ---------- 運(yùn)行結(jié)果: ['J:\\HardWork\\Code\\python', 'J:\\HardWork\\Code\\python', 'I:\\python3\\python36.zip', 'I:\\python3\\DLLs', 'I:\\python3\\lib', 'I:\\python3', 'I:\\python3\\lib\\site-packages']
3.在 Python 安裝路徑的 lib 庫(kù)中搜索
-
同級(jí)目錄導(dǎo)入:直接導(dǎo)入
-
不同級(jí)目錄導(dǎo)入:將對(duì)應(yīng)目錄加入到sys.path中,再import
-
目錄內(nèi)的b導(dǎo)入目錄外的c
-
目錄結(jié)構(gòu):
c中內(nèi)容:
b中如何導(dǎo)入c:
import sys,os print(__file__)##這是當(dāng)前文件的絕對(duì)路徑 parent_dir=os.path.dirname(__file__)##獲得當(dāng)前文件的目錄 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要導(dǎo)入c,必須將diff_dir加入sys.path中
-
目錄外的c導(dǎo)入目錄內(nèi)的d
目錄結(jié)構(gòu):
d中內(nèi)容:
c中如何導(dǎo)入d:
from d2 import d
或:
import d2.d
結(jié)果:
__name__:
由于模塊既可以被導(dǎo)入,也可以被直接運(yùn)行,為了區(qū)分什么是直接運(yùn)行時(shí)運(yùn)行的內(nèi)容,所以有了__name__:
當(dāng)直接運(yùn)行時(shí),__name__是__main__:
print("import C done") print(__name__) if __name__=='__main__': print("direct run") --------------- 運(yùn)行結(jié)果: import C done __main__ direct run
當(dāng)用于導(dǎo)入時(shí),__name__是當(dāng)前導(dǎo)入的模塊名,由于__name__不等于__main__,所以不會(huì)執(zhí)行:
import sys,os # print(__file__)##這是當(dāng)前文件的絕對(duì)路徑 parent_dir=os.path.dirname(__file__)##獲得當(dāng)前文件的目錄 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要導(dǎo)入c,必須將diff_dir加入sys.path中 ------------------ 運(yùn)行結(jié)果: import C done c
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
這篇文章主要介紹了PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09詳解python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu)
這篇文章主要介紹了python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Django實(shí)現(xiàn)全文檢索的方法(支持中文)
這篇文章主要介紹了Django實(shí)現(xiàn)全文檢索的方法(支持中文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python內(nèi)置函數(shù) next的具體使用方法
這篇文章主要介紹了Python內(nèi)置函數(shù) next的具體使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11python 實(shí)現(xiàn)批量圖片識(shí)別并翻譯
這篇文章主要介紹了python 實(shí)現(xiàn)批量圖片識(shí)別并翻譯,幫助大家利用python處理圖片,感興趣的朋友可以了解下2020-11-11python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03