Python基礎(8) 模組和包

2021-10-06 08:02:42 字數 3147 閱讀 3415

模組是 python 程式架構的乙個核心概念

1)import 匯入

import 模組名1, 模組名2

import 模組名1

import 模組名2

使用as指定模組的別名

如果模組的名字太長,可以使用as指定模組的名稱,以方便在**中的使用

import 模組名1 as 模組別名

注意:模組別名應該符合大駝峰命名法

2)from...import 匯入

# 從 模組 匯入 某乙個工具

from 模組名1 import 工具名

注意

如果 兩個模組,存在 同名的函式,那麼 後匯入模組的函式,會 覆蓋掉先導入的函式

from...import *(知道)

# 從 模組 匯入 所有工具

from 模組名1 import *

注意

這種方式不推薦使用,因為函式重名並沒有任何的提示,出現問題不好排查

python的直譯器在匯入模組時,會:

搜尋當前目錄指定模組名的檔案,如果有就直接匯入如果沒有,再搜尋系統目錄

在開發時,給檔案起名,不要和系統的模組檔案重名

python中每乙個模組都有乙個內建屬性__file__可以檢視模組完整路徑

實際開發場景

__name__屬性

在很多python檔案中都會看到以下格式的**

# 匯入模組

# 定義全域性變數

# 定義類

# 定義函式

# 在**的最下方

def main():

# ...

pass

# 根據 __name__ 判斷是否執行下方**

if __name__ == "__main__":

main()

好處

新建乙個hm_message在目錄下,新建兩個檔案send_messagereceive_messagesend_message檔案中定義乙個send函式

receive_message檔案中定義乙個receive函式

在外部直接匯入hm_message的包

# 從 當前目錄 匯入 模組列表

from . import send_message

from . import receive_message

1) 建立 setup.py

from distutils.core import setup

setup(name="hm_message", # 包名

version="1.0", # 版本

description="itheima's 傳送和接收訊息模組", # 描述資訊

long_description="完整的傳送和接收訊息模組", # 完整描述資訊

author="itheima", # 作者

author_email="[email protected]", # 作者郵箱

url="www.itheima.com", # 主頁

py_modules=["hm_message.send_message",

"hm_message.receive_message"]) #在列表中以包名.模組名的方式指定需要發布的模組

有關字典引數的詳細資訊,可以參閱官方**:

2) 構建模組

$ python3 setup.py build

3) 生成發布壓縮包

$ python3 setup.py sdist

注意:要製作哪個版本的模組,就使用哪個版本的直譯器執行!

$ tar -zxvf hm_message-1.0.tar.gz 

$ sudo python3 setup.py install

解除安裝模組

直接從安裝目錄下,把安裝模組的目錄刪除就可以

$ cd /usr/local/lib/python3.5/dist-packages/

$ sudo rm -r hm_message*

pip是乙個現代的,通用的python包管理工具

安裝和解除安裝命令如下:

# 將模組安裝到 python 2.x 環境

$ sudo pip install pygame

$ sudo pip uninstall pygame

# 將模組安裝到 python 3.x 環境

$ sudo pip3 install pygame

$ sudo pip3 uninstall pygame

Python基礎 模組和包

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

python基礎 模組和包

目錄 每乙個專案是由乙個或多個模組組成。每乙個以.py結尾的檔案 python源 都是乙個模組 工具包 模組 工具包 中定義的全域性變數,類,函式都是可以提供給呼叫函式使用的工具。模組可以根據功能來進行設計,使得可以更有邏輯的組織 段,以及更好的復用。在日常工作開發中每個人可以負責自己的模組,主程式...

Python基礎 模組和包

1.2.製作模組 1.3.模組定位順序 1.4.all 二.包 2.2 匯入包 2.2.2 方法二 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 1.1.2.1 imp...