Python之模組和包

2021-10-10 12:52:29 字數 3710 閱讀 1899

模組是 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__可以檢視模組完整路徑

示例

import random

# 生成乙個 0~10 的數字

rand = random.randint(0,

10)print

(rand)

注意:如果當前目錄下,存在乙個random.py的檔案,程式就無法正常執行了!

實際開發場景

__name__屬性

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

# 匯入模組

# 定義全域性變數

# 定義類

# 定義函式

# 在**的最下方

defmain()

:# ...

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

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"

])

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

$ python3 setup.py build
$ 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

$ sudo pip install ipython
$ sudo apt install ipython

$ sudo apt install ipython3

python 模組和包 python模組和包

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

python深入之包和模組,包和模組的匯入方式

關於包和模組 2 包 是乙個有層級的目錄結構,包含n個模組或者n個子包,包中一定要有 init py檔案 3 庫 是完成一定功能的 集合,表現形式是乙個模組,或包 4 框架 是乙個架構層面的概念,為解決乙個開放性問題而設計的具有一定約束性的支撐結構,通過框架可以快速實現乙個解決問題的骨架,後面按照框...

Python學習 之 模組和包

包 匯入同級目錄下的模組 直接匯入 import mod 匯入並起別名 import mod as mod name 匯入不同級目錄下的模組 from dir.xx.xx import mod from dirimport mod as mod name 匯入目錄下所有模組 from dirimpo...