1. 程式人生 > >8.什麽是模塊,模塊的導入,__name__

8.什麽是模塊,模塊的導入,__name__

圖片 目錄結構 pen bottom 模塊名 done dll python 安裝 imp


什麽是模塊:

在Python中,模塊就是一個個方法和類的倉庫,如果我們想要使用某個方法或類,那麽我們就需要導入對應的模板。

【python有內置方法、類,所以有些方法我們並不需要導入模塊】

模塊的使用:模塊.函數 , 模塊.類


模塊的導入:

  • 模塊導入:

    • import 模塊名
    #import 模塊名
    import math
    print(math.sqrt(9))
    • from…import 語句:從模塊中導入一個指定的部分,如類、方法,其中from…import * 代表導入全部內容
#from 模塊名 import 類名、方法名
from collections import
Iterable print(isinstance("abc",Iterable)) print(isinstance([1,2,3],Iterable))
  • from…import導入的時候還能給導入的部分起個自定義的名字:如:from … import funcA as fa

  • 自模塊導入:

Python import 的搜索路徑

1.在當前目錄下搜索該模塊

2.在環境變量 PYTHONPATH 中指定的路徑列表中依次搜索 【可以從sys.path中獲取】

import sys
print(sys.path)

----------
運行結果:
[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 庫中搜索

    • 同級目錄導入:直接導入

技術分享圖片

技術分享圖片

技術分享圖片

    • 不同級目錄導入:將對應目錄加入到sys.path中,再import

目錄結構:技術分享圖片

c中內容:技術分享圖片

b中如何導入c:

import sys,os

print(__file__)##這是當前文件的絕對路徑
parent_dir=os.path.dirname(__file__)##獲得當前文件的目錄 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要導入c,必須將diff_dir加入sys.path中


__name__:

由於模塊既可以被導入,也可以被直接運行,為了區分什麽是直接運行時運行的內容,所以有了__name__:

當直接運行時,__name__是__main__:

print("import C done")
print(__name__)

if __name__==__main__:
    print("direct run")

---------------
運行結果:
import C done
__main__
direct run

當用於導入時,__name__是當前導入的模塊名,由於__name__不等於__main__,所以不會執行技術分享圖片

import sys,os

# print(__file__)##這是當前文件的絕對路徑
parent_dir=os.path.dirname(__file__)##獲得當前文件的目錄
pp_dir=os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c     #要導入c,必須將diff_dir加入sys.path中




------------------
運行結果:
import C done
c


8.什麽是模塊,模塊的導入,__name__