自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于 Python 的 24 個(gè)常用模塊簡(jiǎn)介

開(kāi)發(fā) 前端
每個(gè)模塊都如同一塊拼圖,當(dāng)你將它們熟練運(yùn)用到實(shí)際項(xiàng)目中,便能構(gòu)建出強(qiáng)大而優(yōu)雅的Python應(yīng)用。

大家好!今天,我們將一起揭開(kāi)24個(gè)常用模塊的神秘面紗,助你在編程道路上快速升級(jí)!

模塊一:os - 系統(tǒng)交互大師

import os

# 查看當(dāng)前工作目錄
print(os.getcwd())

# 創(chuàng)建新目錄
os.mkdir('new_folder')

# 列出指定目錄下的文件和子目錄
for item in os.listdir('.'):
    print(item)

os模塊是Python與操作系統(tǒng)對(duì)話(huà)的橋梁,讓你輕松進(jìn)行文件和目錄操作,如獲取當(dāng)前工作目錄、創(chuàng)建新目錄、列出目錄內(nèi)容等。

模塊二:sys - 程序運(yùn)行內(nèi)幕探索者

import sys

# 輸出Python版本信息
print(sys.version)

# 打印命令行參數(shù)
for arg in sys.argv:
    print(arg)

sys模塊提供了訪(fǎng)問(wèn)和控制Python解釋器運(yùn)行時(shí)環(huán)境的方法,比如查看Python版本、獲取命令行參數(shù)等,幫你洞察程序內(nèi)部運(yùn)作機(jī)制。

模塊三:datetime - 時(shí)間管理專(zhuān)家

from datetime import datetime, timedelta

# 獲取當(dāng)前日期時(shí)間
now = datetime.now()
print(now)

# 計(jì)算未來(lái)日期
future_date = now + timedelta(days=30)
print(future_date)

datetime模塊讓處理日期和時(shí)間變得簡(jiǎn)單直觀(guān),你可以獲取當(dāng)前時(shí)間、計(jì)算時(shí)間間隔、進(jìn)行日期格式化等,是編寫(xiě)與時(shí)間相關(guān)的程序不可或缺的好幫手。

模塊四:math - 數(shù)學(xué)運(yùn)算寶庫(kù)

import math

# 計(jì)算圓面積
radius = 5
area = math.pi * radius ##  2
print(area)

# 計(jì)算最大公約數(shù)
num1, num2 = ?, 21
gcd = math.gcd(num1, num2)
print(gcd)

math模塊封裝了大量數(shù)學(xué)函數(shù)和常量,如求平方根、計(jì)算圓周率、求最大公約數(shù)等,滿(mǎn)足你的數(shù)學(xué)運(yùn)算需求。

模塊五:random - 隨機(jī)數(shù)生成魔術(shù)師

import random

# 生成一個(gè)[0, 1)之間的隨機(jī)浮點(diǎn)數(shù)
rand_float = random.random()
print(rand_float)

# 隨機(jī)從列表中選取一個(gè)元素
choices = ['apple', 'banana', 'orange']
random_choice = random.choice(choices)
print(random_choice)

random模塊負(fù)責(zé)生成各種類(lèi)型的隨機(jī)數(shù),以及對(duì)列表等容器進(jìn)行隨機(jī)抽樣,為你的程序添加不確定性,模擬真實(shí)世界的隨機(jī)行為。

模塊六:csv - 數(shù)據(jù)導(dǎo)出導(dǎo)入能手

import csv

# 寫(xiě)入CSV文件
with open('data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Name', 'Age'])
    writer.writerow(['Alice', 25])

# 讀取CSV文件
with open('data.csv', newline='') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

csv模塊簡(jiǎn)化了CSV(逗號(hào)分隔值)文件的讀寫(xiě)操作,無(wú)論是保存數(shù)據(jù)還是分析外部數(shù)據(jù)源,它都是你的得力助手。

模塊七:json - JSON數(shù)據(jù)處理好幫手

import json

# 將Python對(duì)象轉(zhuǎn)換為JSON字符串
data = {'name': 'John', 'age': 30}
json_str = json.dumps(data)
print(json_str)

# 從JSON字符串解析回Python對(duì)象
loaded_data = json.loads(json_str)
print(loaded_data)

json模塊用于序列化和反序列化JSON數(shù)據(jù),使得Python程序能夠輕松與使用JSON格式的Web服務(wù)或其他應(yīng)用程序交換數(shù)據(jù)。

模塊八:requests - 網(wǎng)絡(luò)請(qǐng)求小飛俠

import requests

# 發(fā)送GET請(qǐng)求并打印響應(yīng)內(nèi)容
response = requests.get('https://api.github.com')
print(response.text)

requests庫(kù)簡(jiǎn)化了HTTP請(qǐng)求的發(fā)送過(guò)程,無(wú)論是GET、POST還是其他方法,只需幾行代碼就能實(shí)現(xiàn),大大提升了網(wǎng)絡(luò)通信效率。

模塊九:pandas - 數(shù)據(jù)分析與處理巨擘

import pandas as pd

# 從CSV文件加載數(shù)據(jù)到DataFrame
df = pd.read_csv('data.csv')

# 查看前5行數(shù)據(jù)
print(df.head())

pandas庫(kù)提供了強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)DataFrame,用于高效地進(jìn)行數(shù)據(jù)分析、清洗、統(tǒng)計(jì)和可視化,是Python數(shù)據(jù)科學(xué)領(lǐng)域的核心工具之一。

模塊十:numpy - 科學(xué)計(jì)算與數(shù)組操作神器

import numpy as np

# 創(chuàng)建一個(gè)2x2的數(shù)組
arr = np.array([[1, 2], [3, 4]])
print(arr)

# 計(jì)算數(shù)組元素之和
sum_arr = np.sum(arr)
print(sum_arr)

numpy庫(kù)提供高性能的多維數(shù)組對(duì)象和豐富的數(shù)學(xué)函數(shù),是進(jìn)行數(shù)值計(jì)算、機(jī)器學(xué)習(xí)、信號(hào)處理等領(lǐng)域開(kāi)發(fā)的基礎(chǔ)庫(kù)。

模塊十一:matplotlib - 數(shù)據(jù)可視化魔法師

import matplotlib.pyplot as plt

# 繪制簡(jiǎn)單的折線(xiàn)圖
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

matplotlib庫(kù)用于創(chuàng)建靜態(tài)、動(dòng)態(tài)、交互式的圖表,如折線(xiàn)圖、散點(diǎn)圖、柱狀圖等,是Python數(shù)據(jù)可視化的首選工具。

模塊十二:scipy - 科學(xué)計(jì)算全方位助手

from scipy.optimize import minimize

# 定義目標(biāo)函數(shù)
def f(x):
    return x## 2 + 10*np.sin(x)

# 使用優(yōu)化算法找到最小值
result = minimize(f, x0=0)
print(result.x)

scipy庫(kù)包含眾多科學(xué)計(jì)算工具箱,如最優(yōu)化、插值、積分、信號(hào)處理、統(tǒng)計(jì)分析等,極大地?cái)U(kuò)展了Python在科學(xué)計(jì)算領(lǐng)域的能力。

模塊十三:re - 正則表達(dá)式獵手

import re

# 使用正則表達(dá)式匹配郵箱地址
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
text = 'Contact me at alice@example.com or bob@gmail.com'
matches = re.findall(pattern, text)
print(matches)

re模塊實(shí)現(xiàn)了正則表達(dá)式的支持,讓你能夠靈活、高效地進(jìn)行文本模式匹配、查找、替換等操作。

模塊十四:threading - 多線(xiàn)程任務(wù)執(zhí)行者

import threading

# 定義線(xiàn)程任務(wù)
def thread_task(name):
    print(f"Thread {name} started.")
    # ... 執(zhí)行任務(wù) ...
    print(f"Thread {name} finished.")

# 創(chuàng)建并啟動(dòng)兩個(gè)線(xiàn)程
t1 = threading.Thread(target=thread_task, args=("Thread 1",))
t2 = threading.Thread(target=thread_task, args=("Thread 2",))

t1.start()
t2.start()

# 等待所有線(xiàn)程完成
t1.join()
t2.join()

print("All threads finished.")

threading模塊支持多線(xiàn)程編程,使程序能夠在同一時(shí)刻執(zhí)行多個(gè)任務(wù),提高程序并發(fā)性能和響應(yīng)速度。

模塊十五:timeit - 代碼性能測(cè)量?jī)x

import timeit

# 測(cè)試代碼塊執(zhí)行時(shí)間
setup = "import math"
statement = "math.factorial(100)"
elapsed_time = timeit.timeit(setup=setup, stmt=statement, number=1000)
print(f"Average execution time: {elapsed_time/1000:.6f} seconds")

timeit模塊提供了一種簡(jiǎn)便的方法來(lái)測(cè)量小段代碼的執(zhí)行時(shí)間,幫助開(kāi)發(fā)者評(píng)估代碼性能,進(jìn)行優(yōu)化。

模塊十六:unittest - 單元測(cè)試守護(hù)神

import unittest

class TestMathFunctions(unittest.TestCase):

    def test_factorial(self):
        self.assertEqual(math.factorial(5), 120)

    def test_gcd(self):
        self.assertEqual(math.gcd(18, 24), 6)

if __name__ == '__main__':
    unittest.main()

unittest模塊是Python標(biāo)準(zhǔn)庫(kù)中的單元測(cè)試框架,通過(guò)編寫(xiě)測(cè)試用例來(lái)確保代碼的正確性和穩(wěn)定性。

模塊十七:argparse - 命令行參數(shù)解析器

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                   help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                   const=sum, default=max,
                   help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))

argparse模塊用于創(chuàng)建用戶(hù)友好的命令行接口,輕松處理程序接受的命令行參數(shù)。

模塊十八:logging - 程序日志記錄員

import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info("This is an informative message.")
logger.warning("Watch out! This might be a problem.")

logging模塊提供了通用的日志記錄系統(tǒng),方便程序在運(yùn)行過(guò)程中記錄調(diào)試信息、異常情況等,便于問(wèn)題排查和跟蹤。

模塊十九:sqlite3 - 輕量級(jí)數(shù)據(jù)庫(kù)連接器

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

cursor.execute('''CREATE TABLE stocks
                 (date text, trans text, symbol text, qty real, price real)''')

cursor.execute("INSERT INTO stocks VALUES ('202.jpg', 'BUY', 'RHAT', 100, 35.14)")

conn.commit()
conn.close()

sqlite3模塊是Python內(nèi)置的SQLite數(shù)據(jù)庫(kù)驅(qū)動(dòng),允許程序直接操作SQLite數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)存儲(chǔ)、查詢(xún)等操作。

模塊二十:hashlib - 哈希函數(shù)計(jì)算者

import hashlib

message = "Hello, world!".encode()
digest = hashlib.sha256(message).hexdigest()
print(digest)

hashlib模塊提供了多種安全的哈希函數(shù),如SHA-256,用于生成消息摘要或校驗(yàn)數(shù)據(jù)完整性。

模塊二十一:xml.etree.ElementTree - XML解析與生成伙伴

import xml.etree.ElementTree as ET

root = ET.Element("root")
child = ET.SubElement(root, "child", name="element1")
ET.SubElement(child, "grandchild").text = "Some text"

tree = ET.ElementTree(root)
tree.write("output.xml")

xml.etree.ElementTree模塊提供了處理XML文檔的API,包括解析、構(gòu)建、搜索XML樹(shù)等功能。

模塊二十二:shutil - 文件與目錄操作好伙伴

import shutil

shutil.copyfile('source.txt', 'destination.txt')
shutil.move('old_file.txt', 'new_file.txt')
shutil.rmtree('directory_to_remove')

shutil模塊提供了高級(jí)文件和目錄操作功能,如復(fù)制、移動(dòng)文件,刪除目錄及其內(nèi)容等。

模塊二十三:itertools - 生成器與迭代器魔法工廠(chǎng)

import itertools

combinations = itertools.combinations(range(4), 2)
for combo in combinations:
    print(combo)

itertools模塊包含了一系列高效且內(nèi)存友好的迭代器函數(shù),如生成組合、排列、無(wú)限序列等,極大豐富了Python的循環(huán)結(jié)構(gòu)。

模塊二十四:functools - 高級(jí)函數(shù)工具箱

import functools

@functools.lru_cache(maxsize=32)
def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)

print(fib(10))

functools模塊提供了許多用于處理函數(shù)的工具,如裝飾器、高階函數(shù)等,有助于編寫(xiě)更簡(jiǎn)潔、更高效的代碼。

結(jié)語(yǔ):模塊學(xué)習(xí)路徑與持續(xù)進(jìn)階建議

恭喜你,已經(jīng)完成了Python常用模塊的探險(xiǎn)之旅!每個(gè)模塊都如同一塊拼圖,當(dāng)你將它們熟練運(yùn)用到實(shí)際項(xiàng)目中,便能構(gòu)建出強(qiáng)大而優(yōu)雅的Python應(yīng)用。為了更好地掌握這些模塊,建議:

  • 動(dòng)手實(shí)踐 :閱讀本文的同時(shí),打開(kāi)Python環(huán)境嘗試運(yùn)行示例代碼,理解其工作原理。 
  • 深入學(xué)習(xí) :查閱官方文檔或相關(guān)教程,了解模塊中未提及的其他功能和用法。
  • 結(jié)合項(xiàng)目 :在實(shí)際項(xiàng)目中尋找機(jī)會(huì)應(yīng)用所學(xué)模塊,解決具體問(wèn)題,提升實(shí)戰(zhàn)經(jīng)驗(yàn)。
  • 定期回顧 :定期復(fù)習(xí)模塊知識(shí),更新自己的技能庫(kù),保持對(duì)Python生態(tài)的敏感度。

編程之路永無(wú)止境,持續(xù)學(xué)習(xí)與實(shí)踐是進(jìn)步的關(guān)鍵。祝你在Python的世界里游刃有余,盡情創(chuàng)造!

責(zé)任編輯:趙寧寧 來(lái)源: 手把手PythonAI編程
相關(guān)推薦

2011-05-07 14:39:00

投影

2011-05-23 16:50:12

python

2022-09-01 11:19:00

CSS前端

2018-09-28 10:45:19

Python 開(kāi)發(fā)模塊

2010-03-12 17:29:16

Python模塊

2010-03-22 15:38:46

Python常用模塊

2020-09-04 06:32:20

Pythonshutil函數(shù)

2010-02-23 13:23:53

Python 模塊

2010-03-12 15:13:41

Python常用模塊

2023-12-07 11:01:27

Python常用模塊內(nèi)置模塊

2010-03-23 16:28:31

CentOS使用

2009-06-02 17:18:10

hibernate框架簡(jiǎn)介

2010-05-12 18:18:17

2010-03-22 10:27:28

Python常用模塊I

2020-12-25 10:28:41

JavaScript模塊module

2022-03-31 10:42:04

端口轉(zhuǎn)發(fā)Linux

2017-11-21 09:30:00

2023-01-17 15:31:40

Python數(shù)據(jù)集數(shù)組

2010-03-03 13:39:41

Python os模塊

2010-01-06 17:03:45

Linux主要特點(diǎn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)