關於python中的module

2022-05-03 04:09:09 字數 1394 閱讀 1138

python中的module(模組),關於這個概念以及使用時主要有以下幾點需要注意:

(1)import xx時,會首先將這個xx module中的**執行一遍(且僅執行一遍)

例如:

(2)模組包

(3)通過import可以匯入其他模組中的物件(物件包括:函式、全域性變數)

import module_name     #module_name.foo()表示呼叫module_name中foo函式  

import package_name #如果package_name中__init__.py檔案中匯入了具體模組module_name,那麼可以用package_name.module_name來使用module_name中的功能,否則是不行的

import package_name.module_name #package_name.module_name.foo() 表示使用module_name中的foo函式

from package_name import module_name #module_name.foo() 表示使用module_name的foo函式

from package_name.module_name import foo #直接使用foo()就可以啦

備註:import module_name.foo  是非法的

(4)呼叫上級目錄下的檔案:

程式結構如下:

這裡想要實現test2.py呼叫mod1.py和mod2.py ,做法是我們先跳到src目錄下面,直接可以呼叫mod1,然後在lib上當下建乙個空檔案__init__.py ,就可以像第二步呼叫子目錄下的模組一樣,通過import  lib.mod2進行呼叫了。具體**如下:

import

sys".."

)import

mod1

import mod2.mod2

另外一些注意的地方:

1、比如說檔案 結構如:

,然後code檔案裡有__init__.py,現在我執行1.py,那麼也會執行其他資料夾裡的__init__.py(即會執行code/__init__.py),如果__init__.py中也有import操作,那麼路徑按照1.py來設定路徑!(注意:前面也說過了,import module_xx時,會把對應的module_xx.py編譯一次,生成.pyd檔案)

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...