模塊是 Python 程序架構的一個核心概念html
py
結尾的 Python
源代碼文件都是一個 模塊import 模塊名1, 模塊名2
提示:在導入模塊時,每一個導入應該獨佔一行python
import 模塊名1 import 模塊名2
模塊名.
使用 模塊提供的工具 —— 全局變量、函數、類as
指定模塊的別名若是模塊的名字太長,可使用
as
指定模塊的名稱,以方便在代碼中的使用程序員
import 模塊名1 as 模塊別名
注意:模塊別名 應該符合 大駝峯命名法api
from ... import
的方式import 模塊名
是 一次性 把模塊中 全部工具所有導入,而且經過 模塊名/別名 訪問# 從 模塊 導入 某一個工具 from 模塊名1 import 工具名
模塊名.
注意bash
若是 兩個模塊,存在 同名的函數,那麼 後導入模塊的函數,會 覆蓋掉先導入的函數架構
import
代碼應該統一寫在 代碼的頂部,更容易及時發現衝突as
關鍵字 給其中一個工具起一個別名# 從 模塊 導入 全部工具 from 模塊名1 import *
注意dom
這種方式不推薦使用,由於函數重名並無任何的提示,出現問題很差排查函數
Python
的解釋器在 導入模塊 時,會:工具
在開發時,給文件起名,不要和 系統的模塊文件 重名測試
Python
中每個模塊都有一個內置屬性 __file__
能夠 查看模塊 的 完整路徑
示例
import random # 生成一個 0~10 的數字 rand = random.randint(0, 10) print(rand)
注意:若是當前目錄下,存在一個
random.py
的文件,程序就沒法正常執行了!
Python
的解釋器會 加載當前目錄 下的 random.py
而不會加載 系統的 random
模塊Python
文件 就是一個 模塊實際開發場景
__name__
屬性
__name__
屬性能夠作到,測試模塊的代碼 只在測試狀況下被運行,而在 被導入時不會被執行!
__name__
是 Python
的一個內置屬性,記錄着一個 字符串__name__
就是 模塊名__name__
是 __main__
在不少 Python
文件中都會看到如下格式的代碼:
# 導入模塊 # 定義全局變量 # 定義類 # 定義函數 # 在代碼的最下方 def main(): # ... pass # 根據 __name__ 判斷是否執行下方代碼 if __name__ == "__main__": main()
__init__.py
_
好處
import 包名
能夠一次性導入 包 中 全部的模塊hm_message
的 包send_message
和 receive_message
send_message
文件中定義一個 send
函數receive_message
文件中定義一個 receive
函數hm_message
的包__init__.py
__init__.py
中指定 對外界提供的模塊列表# 從 當前目錄 導入 模塊列表 from . import send_message from . import receive_message
setup.py
的文件from distutils.core import setup setup(name="hm_message", # 包名 version="1.0", # 版本 description="itheima's 發送和接收消息模塊", # 描述信息 long_description="完整的發送和接收消息模塊", # 完整描述信息 author="itheima", # 做者 author_email="itheima@itheima.com", # 做者郵箱 url="www.itheima.com", # 主頁 py_modules=["hm_message.send_message", "hm_message.receive_message"])
有關字典參數的詳細信息,能夠參閱官方網站:
https://docs.python.org/2/distutils/apiref.html
$ 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
包 / 模塊
pygame
就是一套很是成熟的 遊戲開發模塊pip
是一個現代的,通用的 Python
包管理工具Python
包的查找、下載、安裝、卸載等功能安裝和卸載命令以下:
# 將模塊安裝到 Python 2.x 環境 $ sudo pip install pygame $ sudo pip uninstall pygame # 將模塊安裝到 Python 3.x 環境 $ sudo pip3 install pygame $ sudo pip3 uninstall pygame
Mac
下安裝 iPython
$ sudo pip install ipython
Linux
下安裝 iPython
$ sudo apt install ipython $ sudo apt install ipython3