Python 28 模組和包的基本概念

2022-07-10 02:45:11 字數 1952 閱讀 1086

定義:在python中,乙個 .py 檔案就稱為乙個模組

使用模組的好處:最大的好處就是提高了**的可維護性

分類(三種):

模組匯入方法:

1. import 語句

import module1[, module2[,.... modulen]]

#舉例:

#test.py

import

calprint(cal.add(3,5))

print(cal.sub(3,5))

注意:import 做了兩件事情:一是執行cal函式;第二是引入變數名

2. from...import 語句

from modulename import name1[, name2[, ... namen]]

注意:這個宣告不會把整個modulename模組匯入到當前的命名空間中,

只會將它裡面的name1或者name2單獨引入到執行這個宣告的模組的全域性符號表。

#舉例:

#test.py

from cal import

addfrom cal import

sub

print(add(3,5))

print(sub(3,5))

3. from...import*語句

from modulename import*

#舉例:

#test.py

from cal import*

print(add(3,5))

print(sub(3,5))

(*代表一切,但是不推薦這種模組匯入方式)

關於路徑的補充:

當我們使用import語句時,python直譯器是怎麼樣找到對應的檔案的?

答案是直譯器有自己的搜尋路徑,存在 sys.path裡。

import

sysprint(sys.path)

#存放的是執行檔案的路徑

為了避免模組名相同帶來的衝突,python引入按照目錄組織模組的方法,稱為包(package)

每個包目錄下面都會有有個 __init__.py 的檔案,這是區別普通目錄的。如果沒有__init__.py ,則不是乙個包

__init__.py 可以是空檔案,也可以有python**,因為__init__.py本身就是乙個模組,而它的模組名就是對應包的名字

引入包以後,只要頂層的包名不與別人衝突,那所有模組都不會與別人衝突。

舉例:

#

main.py

defadd(x, y):

return x +y

defsub(x, y):

return x - y

呼叫方式一:

#

test.py

from my_module.web1.web2.web3.main import

subprint(sub(2,5))

呼叫方式二:

#

test.py

from my_module.web1.web2.web3 import

main

print(main.add(2,5))

注意:包只要被呼叫,就是執行該包的 __init__.py 檔案

python 模組和包 python模組和包

一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...

Python 模組和包的基本應用

module and package 包 包是通過使用 模組名來組織python模組命名空間的方式 具體而言,包就是乙個包含 init py檔案的資料夾 注意 python3,即使包中沒有 init py也可以使用 python2,如果沒有 init py肯定報錯 建立包的目的不是為了執行,而是為了...

python 包和模組 python的包和模組

再看一下os識別符號的型別及os指向的這個物件。print type os print type os.path print global os 收集全域性變數,檢視os物件資訊 輸出結果 上面結果顯示os和os.path是乙個module型別,這也是os可以使用import匯入的原因。只有modu...