Python標準庫中最有用的模組有哪些?


Python標準庫是一個指令碼模組的集合,Python程式可以使用這些模組,無需重寫常用的命令,從而簡化開發過程。透過在指令碼開頭“呼叫/匯入”它們,就可以使用它們。

模組是一個包含Python程式碼的檔案;一個名為‘coding.py’的檔案就是一個名為‘coding’的模組。我們使用模組將複雜的程式分解成更小、更容易管理的部分。模組也允許程式碼重用。

在下面的例子中,一個名為‘coding’的模組包含一個我們建立的名為add()的函式。該函式接收兩個數字作為輸入,並輸出它們的和:

def add(b, c):
# Adding two numbers and returning the result
   add_result = b + c
   return add_result

本文簡要介紹了標準庫中大多數有用的Python模組。

datetime模組

我們可以利用datetime模組提供的物件來儲存關於日期和時間的資訊:

  • 要生成沒有時間成分的日期,請使用datetime.date

  • 對於與特定日期無關的時間,請使用datetime.time

  • 對於同時具有日期和時間的物件,請使用datetime.datetime

  • datetime.timedelta:當我們從另一個datetime中減去一個datetime時,結果是一個timedelta物件,它儲存日期或datetime之間的差異。

  • 時區變化表示為相對於UTC的偏移量,透過datetime.timezone物件表示。此類的超類Datetime.tzinfo不打算直接使用。

示例

以下是使用datetime模組獲取當前日期和時間的示例:

import datetime datetime_obj = datetime.datetime.now() print(datetime_obj)

輸出

以下是上述程式碼的輸出:

2022-08-02 11:54:17.401520

math模組

math模組中可以找到一組數學函式。雖然它們可以應用於浮點數或整數,但它們的主要目的是應用於浮點數,並且它們通常返回浮點數。

如果您需要對複數使用數學運算,請使用cmath模組代替。

math模組中有一些方法和常量。下面列出了一些:

方法

math模組中有一些方法和常量。

  • math.acos()給出數字的反餘弦值。

  • 函式acosh()返回數學的反雙曲餘弦。

  • 使用math.ceil()將數字四捨五入到最接近的整數。

  • math.comb()返回從n個專案中選擇k個專案的不同、不重複的方法的數量。

  • math.copysign()生成一個浮點數,該浮點數包含第一個引數的值和第二個引數的符號。

  • math.cosh()返回數字的雙曲餘弦。

  • 使用math.degrees()將角度從弧度轉換為度。

常量

  • math.e返回尤拉的值 (2.7182...)。

  • 使用math.inf返回正浮點無窮大。

  • 返回浮點NaN(非數字)值的是math.nan

  • math.pi產生PI (3.1415...)。

  • math.tau返回tau (6.2831...)

示例

以下是使用math模組獲取pi值的示例:

import math math.pi

輸出

以下是上述程式碼的輸出:

>>> math.pi
3.141592653589793

random模組(偽隨機數)

當一組數字在某種程度上似乎是隨機的,但實際上並非如此時,我們稱之為偽隨機。雖然偽隨機數序列是由可預測的演算法生成的,但它們具有足夠真實的隨機序列的特性,可以在廣泛的應用中使用。

為了建立偽隨機數並執行一些需要隨機性的其他任務,我們可以使用Python的random包

示例

以下是生成給定整數之間的隨機整數的示例

import random random.randint(401, 1262)

輸出

以下是上述程式碼的輸出:

>>> random.randint(401, 1262)
493
>>> random.randint(401, 1262)
1043
>>> random.randint(401, 1262)
1037

re模組

在程式語言中,正則表示式(RE)是一個獨特的文字字串,用於提供搜尋模式。對於從文字中提取資訊,例如程式碼、檔案、日誌、電子表格甚至文件,它非常有用。

re模組提供了一組函式,使我們可以查詢字串中的匹配項,如下所示:

  • findall提供所有匹配結果的列表。

  • search - 如果字串split中的任何位置存在匹配項,則返回一個Match物件。

  • split提供一個列表,其中包含在每個匹配子項處分割的字串。

  • sub用一個或多個匹配項替換字串

元字元

具有特定含義的字元稱為元字元。下面列出了一些:

  • \用於指示特定序列或轉義特殊字元。

  • .除換行符以外的任何字元。

  • ^ 以…開頭

  • $ 以…結尾

特殊序列

特殊序列具有特定含義,由\和下面給出的列表中的一些字元組成:

  • \A - 如果提供的字元出現在字串的開頭,則函式返回匹配項。

  • \d - 如果字串包含數字(0-9的數字),則返回匹配項。

  • \S - 當字串中不存在空格字元時,返回匹配項。

  • \Z - 如果提供的字元位於字串的末尾,則返回匹配項。

示例

以下是列印所有匹配項列表的示例

import re line = "Python coding using re module on" l = re.findall("on", line) print(l)

輸出

以下是上述程式碼的輸出:

['on', 'on']

os模組

許多作業系統函式可以自動執行。Python中的OS模組具有用於新增和刪除資料夾、檢索其內容、更改目錄、查詢當前目錄等的函式。

示例

以下是獲取當前工作目錄的示例:

import os os.getcwd()

輸出

以下是上述程式碼的輸出

>>> os.getcwd()
'C:\Users\Lenovo\Desktop'

io模組

我們可以藉助Python I/O模組來控制與檔案相關的輸入和輸出活動。使用IO模組的好處是,由於提供了可用的類和函式,我們可以增強功能以支援寫入Unicode資料。

示例

以下是以二進位制格式開啟檔案進行讀取的示例:

import io f = io.open("information.txt", "rb") print(f.read())

輸出

以下是上述程式碼的輸出:

b"This tutorial looks at various Python comparison techniques for two files.\r\nWe'll go over how to perform this typical work by using the available modules\r\nreading two files, and comparing them line by line."

json模組

JSON(JavaScript物件表示法)是一種流行的用於線上資料交換的資料格式。對於在客戶端和伺服器之間構建資料結構,JSON是最佳格式。這種語言的語法類似於JavaScript程式語言。JSON的主要目標是在客戶端和Web伺服器之間傳輸資料。

示例

以下是將JSON轉換為Python的示例

import json # JSON a = '{ "Company":"TutorialsPoint", "year":2006, "location":"Hyderabad"}' # parsing x b = json.loads(a) # result print(b["year"])

輸出

以下是上述程式碼的輸出

2006

copy模組

一組稱為複製模組的操作用於複製各種列表、物件、陣列等專案。可以使用它來生成淺複製和深複製。

建立淺複製時,會建立一個新物件,其中包含對原始元素的引用。因此,淺複製只複製對巢狀物件的引用,而不是實際建立底層物件的副本。

深複製建立新物件,同時新增原始部分中已存在的巢狀物件的副本。

示例

以下是使用淺複製建立副本的示例

import copy x = [[5, 6, 7], [13, 14, 15], [56, 57, 58]] y = copy.copy(x) print("Old_list:", x) print("New_list:", y)

輸出

以下是上述程式碼的輸出

Old_list: [[5, 6, 7], [13, 14, 15], [56, 57, 58]]
New_list: [[5, 6, 7], [13, 14, 15], [56, 57, 58]]

注意:還有許多其他模組,如multiprocessingthreading模組、urllib模組、http模組、locale模組、sqllite3模組等。

更新於:2022年11月14日

7K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.