首頁 後端開發 Python教學 python模組的相關介紹

python模組的相關介紹

Jun 14, 2019 pm 03:12 PM
python 模組

什麼是模組?

相關推薦:《python影片

python模組的相關介紹

#在電腦程式開發的過程中,隨著程式碼越寫越多,在一個檔案裡程式碼就會越來越長,越來越不容易維護,為了寫可維護的程式碼,我們把很多函數分組,分別放到不同的檔案裡面,這樣每個檔案裡麵包含的程式碼就相對較少了,很多的程式語言都採用這種組織程式碼的方式,在python中,一個.py檔案就是一個模組;

使用模組的好處?

1.最大的好處就是大大提高了程式碼的可維護性,其次,編寫程式碼不必從零開始,當一個模組寫完畢了,就可以被其他的模組引用,我們在編寫程式的時候,也經常引用其他的模組,包括python 內建模組和來自第三方的模組,
2.使用模組可以避免函數名稱和變數的衝突,每個模組有獨立的命名空間,因此相同名字的函數和變數完全可以分別在不同的模組中,所以,我們自己在寫模組時,不必考慮名字會與其他的模組的衝突;

模組分類

模組分為3類:

1.內建標準模組,又稱為:標準函式庫,執行(help'modules')查看所有的python自帶模組列表;
2.第三方開源模組,可透過pip install 模組名,聯網安裝;
3.自訂模組;

模組的呼叫

import modulefrom module 
import xxfrom module.xx.xx 
import xx as rename
from module.xx.xx import *

注意:模組一旦被調用,即相當於執行了另外一個py檔裡面的程式碼;

time模組

#time.localtime([secs]):將一個時間戳記轉換為目前時區的struct_time,secs參數未提供,則以目前時間為準;

time.gmtime([secs]):和localtime()方法類似,gmtime()方法是將一個時間戳記轉換為UTC時區(0時區)的struct_time。

time.time():傳回目前時間的時間戳記

time.mktime():將一個struct_time轉換為時間戳記

time.sleep(secs):執行緒延後指定的時間運行,單位為秒

tiem.asctime([t]):把一個時間的元組或struct_time表示為這個形式:sun oct 1 12:04:38 2017,如果沒有參數,將會將time.localtime()作為參數傳入;

time.ctime([secs]):把一個時間戳記(秒)轉換為time.asctime()的形式,如果參數未給,或為None的時候,將會預設time.time()作為參數,他的作用相當於time.asctime(time.localtime(secs))

time.strftime(format[,t ]):把一個代表時間的元組或struct_time(如由time.localtime()和time.gmtime()返回)轉換為格式化的時間字串,如果t未指定,將會傳入,time.localtime ()

datetime模組

#相對於time模組,datetime模組的介面直觀,更容易呼叫;
datetime模組定義如下的幾個類別:

datetime.date:表示日期的類,常用的屬性有:year month,daydatetime.time:表示時間的類,常用的屬性有:hour,minute,second,microseconddatetime.datetime :表示日期時間

datetime.timedelta:表示時間間隔,即兩個時間點之間的長度

datetime.tzinfo 與時區有關的相關資訊

我們需要記住的:

1.d=datetime.datetime.now()傳回目前的datetime日期型別

import datetime
d=datetime.datetime。now()
print(d)
print(d.year)
print(d.today())
print(d.timestamp())
print(d.timetuple())

等方法可以呼叫
2.datetime.formtimestamp(322222)把一個時間戳記轉換為datetime 日期類型;

datetime.date.fromtimestamp(time.time())

3.時間運算:

datetime.datetime.now()+datetime.timedelta(4)#当前时间+4天
datetime.datetime.now()+datetimetimedelta(hours=4)#当前时间+4小时

4.時間的替換

d=datetime.datetime.now()
d.replace(year=2999,month=11,day=30)
datetime.date(2999,11,30)

random隨機數

#程式中有很多的地方需要用到隨機字符,例如登入網站的驗證碼,透過random模組可以很容易的生成隨機字串

random.randrange(1,10)#返回1-10之間的一個隨機數,不包括10random.randint(1,10)#傳回1-10之間的一個隨機數,包括10random.randrange(0,100,2)#隨機取0到100之間的偶數random. random()#傳回一個隨機浮點數random.choice('abc#$@1')#傳回一個給定資料集合中的隨機字元random.sample('abcdefghij',3)#從多個字串中選取特定數量的字元
#產生隨機的字串
import string''.json(random.sample(string.ascii_lowercase string.digits,6))
#洗牌
a=[0 ,1,2,3,4,5,6,7,8,9]random.shuffle(a)print(a)

sys模組

##1.sys.argv

python3 test.py run web

执行结果:
['test.py','run','web']
这个意思就是有的脚本后边可以跟参数,如果跟run我们就执行run,如果跟web 我们就执行web
2.sys.exit(n)退出程序,正常退出
3.sys.version 获取当前解释器的版本
4.sys.maxint 最大的Int值
5.sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
6.sys.platform 返回操作平台的名称
7.sys.getrecursionlimit()获取递归的最大层数
8.sys.setrecursionlimit(1200) 设置最大递归层数
9.sys.getdefaultencoding() 获取解释器默认编码
10.sys.getfilesystemencoding 获取内存数据存到文件里的默认编码

shutil模块

高级的文件,文件夹,压缩包处理模块

shelve模块

json和pickle只能dump,load一次,假如我确实有好几种数据需要序列化,如果只能dump一次的话,这就意味着我自己要dump好几个文件,这个时候就感觉很low,难道没有办法允许我dump好几次吗?
shelve他是对pickle的封装,允许你dump多次,load多次,并且不会顺序乱,因为他是一种key-value的形式;(这个下去自己研究,这里不在多说了,因为它主要是对pickle封装的)shutil.copyfileobj(fsrc,fdst[,llength])将文件内容拷贝到另一个文件中,可以部分内容。

hashlib模块

Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值.也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。

MD5

输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);不同的输入得到的不同的结果(唯一性);MD5算法的特点
1.压缩性:任意长度的数据,算出的MD5值的长度都是固定的
2.容易计算:从原数据计算出MD5值很容易
3.抗修改性:对原数据进行任何改动,修改一个字节生成的MD5值区别也会很大
4.强抗碰撞:已知原数据和MD5,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

以上是python模組的相關介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1535
276
如何使用Python自動化從Excel到Web表單的數據輸入? 如何使用Python自動化從Excel到Web表單的數據輸入? Aug 12, 2025 am 02:39 AM

使用Python自動化將Excel數據填入網頁表單的方法是:先用pandas讀取Excel數據,再用Selenium控制瀏覽器自動填寫並提交表單;具體步驟包括安裝pandas、openpyxl和Selenium庫,下載對應瀏覽器驅動,用pandas讀取data.xlsx文件中的Name、Email、Phone等字段,通過Selenium啟動瀏覽器打開目標網頁,定位表單元素並逐行填入數據,使用WebDriverWait處理動態加載內容,添加異常處理和延遲確保穩定性,最後提交表單並循環處理所有數據行

一文了解什麼是加密貨幣交易中的情緒分析? 一文了解什麼是加密貨幣交易中的情緒分析? Aug 14, 2025 am 11:15 AM

目錄什麼是加密貨幣交易中的情緒分析?為什麼情緒分析在加密貨幣投資中很重要情緒數據的關鍵來源a.社交媒體平台b.新聞媒體c.市場指標情緒分析的工具和技術情緒分析中常用的工具:採用的技術:將情感分析整合到交易策略中交易者如何使用它:策略示例:假設BTC交易場景場景設置:情感信號:交易者的解讀:決策:結果:情感分析的局限性和風險利用情感進行更智能的加密貨幣交易理解市場情緒在加密貨幣交易中變得越來越重要。最近一項2025年的研究由Hamid

如何處理不適合內存的Python中的大型數據集? 如何處理不適合內存的Python中的大型數據集? Aug 14, 2025 pm 01:00 PM

當Python中處理超出內存的大型數據集時,不能一次性加載到RAM中,而應採用分塊處理、磁盤存儲或流式處理等策略;可通過Pandas的chunksize參數分塊讀取CSV文件並逐塊處理,使用Dask實現類似Pandas語法的並行化和任務調度以支持大內存數據操作,編寫生成器函數逐行讀取文本文件減少內存佔用,利用Parquet列式存儲格式結合PyArrow高效讀取特定列或行組,使用NumPy的memmap對大型數值數組進行內存映射以按需訪問數據片段,或將數據存入SQLite或DuckDB等輕量級數據

如何在Python中將文件和目錄從一個位置複製到另一個位置 如何在Python中將文件和目錄從一個位置複製到另一個位置 Aug 11, 2025 pm 06:11 PM

要復製文件和目錄,Python的shutil模塊提供了高效且安全的方法。 1.使用shutil.copy()或shutil.copy2()複製單個文件,後者保留元數據;2.使用shutil.copytree()遞歸複製整個目錄,目標目錄不能預先存在,但可通過dirs_exist_ok=True(Python3.8 )允許目標存在;3.可結合ignore參數和shutil.ignore_patterns()或自定義函數過濾特定文件;4.複製僅目錄結構需用os.walk()和os.makedirs()

如何調試您的Python代碼 如何調試您的Python代碼 Aug 13, 2025 am 12:18 AM

useprint()statement stocheckVaruesAndExeCutionFlow,添加labelsandtypesforclarity,andremovethembeforeCommitting; 2.usethephepythondebugger(pdb)withBreakpoint(pock)

如何使用Python進行股票市場分析和預測? 如何使用Python進行股票市場分析和預測? Aug 11, 2025 pm 06:56 PM

Python可以用於股票市場分析與預測,答案是肯定的,通過使用yfinance等庫獲取數據,利用pandas進行數據清洗和特徵工程,結合matplotlib或seaborn進行可視化分析,再運用ARIMA、隨機森林、XGBoost或LSTM等模型構建預測系統,並通過回測評估性能,最終可藉助Flask或FastAPI部署應用,但需注意市場預測的不確定性、過擬合風險及交易成本影響,成功依賴於數據質量、模型設計和合理預期。

如何在Sublime文本中調試Python代碼? 如何在Sublime文本中調試Python代碼? Aug 14, 2025 pm 04:51 PM

UseSublimeText’sbuildsystemtorunPythonscriptsandcatcherrorsbypressingCtrl Baftersettingthecorrectbuildsystemorcreatingacustomone.2.Insertstrategicprint()statementstocheckvariablevalues,types,andexecutionflow,usinglabelsandrepr()forclarity.3.Installth

如何在VScode中調試Python腳本 如何在VScode中調試Python腳本 Aug 16, 2025 am 02:53 AM

要調試Python腳本,需先安裝Python擴展並配置解釋器,然後創建launch.json文件設置調試配置,接著在代碼中設置斷點並按F5啟動調試,腳本將在斷點處暫停,允許檢查變量和單步執行,最終通過查看控制台輸出、添加日誌或調整參數等方式排查問題,確保環境正確後調試過程簡單高效。

See all articles