溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

發(fā)布時(shí)間:2020-10-24 18:55:58 來源:腳本之家 閱讀:141 作者:隨風(fēng)行云 欄目:開發(fā)技術(shù)

本文實(shí)例講述了Python模塊的定義,模塊的導(dǎo)入,__name__用法。分享給大家供大家參考,具體如下:

相關(guān)內(nèi)容:

  • 什么是模塊
  • 模塊的導(dǎo)入
    • 模塊的導(dǎo)入
    • 自模塊的導(dǎo)入
      • 同級目錄導(dǎo)入
      • 不同級目錄導(dǎo)入
        • 目錄內(nèi)導(dǎo)入目錄外
        • 目錄外導(dǎo)入目錄內(nèi)
  • __name__

什么是模塊:

在Python中,模塊就是一個(gè)個(gè)方法和類的倉庫,如果我們想要使用某個(gè)模塊中的某個(gè)方法或類,那么我們就需要導(dǎo)入對應(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 語句:從模塊中導(dǎo)入一個(gè)指定的部分,如類、方法,其中from…import * 代表導(dǎo)入全部內(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 庫中搜索

    • 同級目錄導(dǎo)入:直接導(dǎo)入

 Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

    • 不同級目錄導(dǎo)入:將對應(yīng)目錄加入到sys.path中,再import

      • 目錄內(nèi)的b導(dǎo)入目錄外的c

目錄結(jié)構(gòu):Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

c中內(nèi)容:Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

b中如何導(dǎo)入c:

import sys,os
print(__file__)##這是當(dāng)前文件的絕對路徑
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):Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

d中內(nèi)容:Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

c中如何導(dǎo)入d:

from d2 import d

或:

import d2.d

結(jié)果:Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析


__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__,所以不會執(zhí)行Python模塊的定義,模塊的導(dǎo)入,__name__用法實(shí)例分析

import sys,os

# print(__file__)##這是當(dāng)前文件的絕對路徑
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入門與進(jìn)階經(jīng)典教程》

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI