31 Python基礎 模組

2021-10-08 18:18:02 字數 3790 閱讀 8736

目錄

1.  模組

1.1  模組的概念

1.2  模組的兩種匯入方式

1.2.1  import 匯入

1.2.2  from...import 匯入

1.3  模組的搜尋順序(擴充套件)

1.4  原則 ---- 每乙個檔案都應該是可以被匯入的

2.  包 (package)

3.  自己發布模組  (知道)

3.1  製作發布壓縮包步驟

3.2  安裝模組

3.3 解除安裝模組

4. pip 安裝第三方模組

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

import 模組名1, 模組名2  # 會報錯, 有波浪線, 不推薦
提示 : 在匯入模組時,  每個匯入應該獨佔一行

匯入之後,通過 模組名.  使用模組提供的工具 ---- 全域性變數 , 函式 , 類

2) 使用 as 指定模組的別名

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

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

匯入之後不需要通過  模組名,可以直接使用模組提供的工具 ---- 全域性變數 ,  函式 ,  類

注意:

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

from ky_01_測試模組1 import  say_hello as dog_hello

from ky_02_測試模組2 import say_hello

say_hello()

from ky_01_測試模組1 import *

print(title)

say_hello()

wangcai = dog()

print(wangcai)

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

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

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

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

示例:

import random

rand = random.randint(0, 10)

print(rand)

print(random.__file__)

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

實際開發場景

_name__ 屬性

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

# 匯入模組

# 定義全域性變數

# 定義類

# 定義函式

# 在**的最下方

def main():

# ...

pass

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

if __name__ == "__main__":

main()

或者這樣:

# 全域性變數,函式,類,注意: 直接執行的**不是向外界提供的工具!

# 檔案被匯入時, 能夠直接執行的**不需要被執行!

def say_hello():

print("hello world")

if __name__ == "__main__":

print("直接執行!!!")

print(__name__)

say_hello()

概念

好處

案例演練

新建乙個 wk_message 的在目錄下,  新建兩個檔案 send_message 和 receive_message

在 send_message 檔案中定義乙個 send 函式

在 receive_message 檔案中定義乙個 receive 函式

在外部直接匯入 wk_message

__init__.py

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

from . import send_message

from . import receive_message

如果希望自己開發的模組,分享給其他人,  可以按以下操作來

1)  建立 setup.py 的檔案

from distutils.core import setup

setup(name="wk_message", # 包名

version="1.0", # 版本

description="傳送資訊和接收資訊模組",

long_description="完整的描述資訊",

author="作者",

author_email="作者郵箱",

url="主頁",

py_modules=["wk_message.send_message",

"wk_message.receive_message"])

2) 構建模組 (控制台)

$ python3 setup.py build
3)  生成發布壓縮包 (控制台)

$ python3 setup.py sdist
注意:  要製作哪個版本的模組,  就使用哪個版本的直譯器

$ tar -zxvf wk_message-1.0.tar.gz

$ sudo python3 setup.py install

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

$ sudo rm -r wk_message*
# 將模組安裝到 python 3.x 環境

$ sudo pip3 install pygame

$ sudo pip3 uninstall pygame

3 1 python運算元據庫(sqllite3)

查詢資料 刪除資料 簡單的sqllite 語法 文件查詢 匯入相關庫或模組 sqlite3 使用connect 連線資料庫並獲取資料庫連線物件。它提供了以下方法 使用con.cursor 獲取游標物件。使用游標物件的方法 execute executemany fetchall 等 來運算元據庫,實...

python模組基礎

容器總結 1 n的累加和 def sumton n s 0 for i in range 11 s i return s print sumton 11 print sumton 101 定義類 class people age 1 name 寶寶 def eat self print 我要吃飯!例...

Python 基礎(模組)

模組 你已經看到,你如何通過定義函式,在程式中重複使用 如果你需要重複使用,來自你自己寫的其他程式中的若干函式,怎麼辦?你可能猜到了,答案是模組。有若干撰寫模組的方法,簡單的方法就是建立乙個擴充套件名為 py的檔案。檔案中有函式和有變數。另乙個方法則是,用python源語言寫 比如,你可以用c程式語...