Python import過程解析

2021-08-29 01:46:30 字數 2501 閱讀 1546

模組:乙個.py檔案

包:乙個資料夾,裡面一定包括乙個__init__.py檔案,可能包括子包和模組

# module.py

a =1

print

('module.py'

)

# test.py

import module

print

(module.a)

執行test.py,執行結果:

module.py

1

結論:import module 即執行模組裡的全部**

# module.py

a =1

print

(module.py)

classc:

def__init__

(self)

:print

('class init'

)

# test.py

from module import a

print

(a)from module import c

c()

執行test.py,執行結果:

1

class init

結論:from module import var/class 就是從模組裡單獨引入乙個變數/類,而不執行模組內其他語句

# package/module.py

a =1

print

('module.py'

)classc:

def__init__

(self)

:print

('class init'

)

# package/__init__.py

print

('__init__.py'

)var_in_init =

2

# test.py

import package

print

(package.var_in_init)

執行test.py,執行結果:

__init__.py

2

結論:import package 就相當於引入包內的__init__模組

# package/module.py

a =1

print

('module.py'

)classc:

def__init__

(self)

:print

('class init'

)

# package/__init__.py

print

('__init__.py'

)var_in_init =

2

# test.py

from package import module

print

(module.a)

module.c(

)

執行test.py,執行結果:

module.py

1class init

結論:from package import module 相當於上面說的引入模組

# package/module.py

a =1

print

('module.py'

)classc:

def__init__

(self)

:print

('class init'

)

# package/__init__.py

print

('__init__.py'

)var_in_init =

2

# test.py

from package.module import a

print

(a)from package.module import c

c()

執行test.py,執行結果:

1

class init

結論:from package(.sub_package).module import var/class 就相當於上面說的 from module import var/class

經過測試,以下語句執行時會發生錯誤:

python import模組方法

python語言中import的使用很簡單,直接使用import module name語句匯入即可。這裡我主要寫一下 import 的本質。模組 module 用來從邏輯 實現乙個功能 上組織python 變數 函式 類 本質就是 py檔案。檔案是物理上組織方式 module name.py 模組...

python import模組方法

python包含子目錄中的模組方法比較簡單,關鍵是能夠在sys.path裡面找到通向模組檔案的路徑。下面將具體介紹幾種常用情況 1 主程式與模組程式在同一目錄下 如下面程式結構 src mod1.py test1.py 若在程式test1.py中匯入模組mod1,則直接使用importmod1或fr...

python import匯入模組

常規匯入 regular imports 使用from語句匯入 相對匯入 relative imports 可選匯入 optional imports 本地匯入 local imports 常規匯入 常規匯入應該是最常使用的匯入方式,大概是這樣的 import sys你只需要使用import一詞,然...