Python之模組與包

2021-08-25 11:20:07 字數 2864 閱讀 4160

a).在 python 中,乙個.py檔案就稱之為乙個模組(module)。

•大大提高了**的可維護性;

•編寫**不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用;

b).呼叫函式時用import ***

a).getpass模組提供了可移植的密碼輸入

import getpass

getpass.getpass()

b).時間模組

import time

time.sleep()

time.time() 返回當前時間的時間戳(1970紀元後經過的浮點秒數)。

time.ctime()

c).數學模組

import math

math.pow(x,y) x的y次方

d).os模組

import os

print(os.listdir(『/var/log/』)) 列出/var/log/下的目錄和檔案

e).random和string模組

import random

import string

li = [1,2,3,4]

a = random.choice('hello') # 從序列中拿出乙個值出來

b = random.sample(string.ascii_letters + string.digits, 4) # 從序列中拿出指定個值出來

random.shuffle(li) # 打亂順序

f).functools模組

該模組為高階函式提供支援——作用於或返回函式的函式被稱為高階函式。在該模組看來,一切可呼叫的物件均可視為本模組中所說的「函式」。

在乙個模組中,我們可能會定義很多函式和變數,但有的函式和變數我們希望給別人使用,有的函式和變數我們希望僅僅在模組內部使用。

在 python 中,是通過 _ 字首來實現。比如author,name就是特殊變數的,func,__fun為私有函式,不能直接引用。

1.需要聯網 ;

2.通過 setuptools 這個工具完成;

3.pip install 包名 或 pycharm中安裝;

a).使用itchat模組,實現給手機助手傳送訊息

import itchat

import time

import random

itchat.auto_login(hotreload=true)

while

true:

#1. 給手機助手傳送訊息

1.當我們試圖載入乙個模組時,python 會在指定的路徑下搜尋對應的.py 檔案;

2。預設情況下,python 直譯器會搜尋當前目錄、所有已安裝的內建模組和第三方模組,搜尋路徑存放在 sys 模組的 path 變數中;

3.模組的查詢順序: 記憶體中已經載入的模組 –> 內建模組 > sys.path目錄裡面的模組

4.記憶體中已經載入的模組 :

sys.modules檢視, python直譯器啟動式缺省會載入的模組內容.

5.注意:

自定義,模組千萬不要跟內建模組衝突.

如果不同的人編寫的模組名相同,為了避免模組名衝突,python 又引入了按目錄來組織模組的方法,稱為包(package)

建立包的步驟:

建立一目錄為包名;

在該資料夾下建立init.py檔案存放包的資訊,該檔案可以為空;

根據需要存放指令碼檔案,已編譯的擴充套件及子包;

可以用import,import as,from import等語句匯入模組和包;

Python之模組與包

模組匯入過程 0.先判斷sys.modules字典中檢視模組是否已經存在,如存在則不做任何操作 1.從sys.path路徑下找到模組 2.建立模組的命名空間 3.把檔案中的名字都放到這個命名空間裡 import sys print sys.path import modue1 import只匯入一次...

python之模組與包

包是一種通過使用模組名來組織python模組命名空間的方式 無論是import形式還是from.import形式,凡是在匯入語句中 而不是在使用時 遇到帶點的,都要第一時間提高警覺 這是關於包才有的匯入語法 包的本質就是乙個包含 init py檔案的目錄 凡是在匯入時帶點的,點的左邊都必須是乙個包 ...

Python之模組與包

通常 乙個模組就是乙個包含了python定義和宣告的檔案 檔名就是模組名字加上.py的字尾 模組可以被匯入使用。但import載入的模組分為四個通用類別 1.使用python編寫的.py檔案 2.已被編譯為共享庫或dll的c或c 擴充套件 3.把一系列模組組織到一起的資料夾 注 資料夾下有乙個 in...