日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

關于 Python 的 24 個常用模塊簡介

來源: 責編: 時間:2024-05-28 09:11:30 177觀看
導讀大家好!今天,我們將一起揭開24個常用模塊的神秘面紗,助你在編程道路上快速升級!模塊一:os - 系統交互大師import os# 查看當前工作目錄print(os.getcwd())# 創建新目錄os.mkdir('new_folder')# 列出指定目錄下的文件和子目

大家好!今天,我們將一起揭開24個常用模塊的神秘面紗,助你在編程道路上快速升級!a0v28資訊網——每日最新資訊28at.com

a0v28資訊網——每日最新資訊28at.com

模塊一:os - 系統交互大師

import os# 查看當前工作目錄print(os.getcwd())# 創建新目錄os.mkdir('new_folder')# 列出指定目錄下的文件和子目錄for item in os.listdir('.'):    print(item)

os模塊是Python與操作系統對話的橋梁,讓你輕松進行文件和目錄操作,如獲取當前工作目錄、創建新目錄、列出目錄內容等。a0v28資訊網——每日最新資訊28at.com

模塊二:sys - 程序運行內幕探索者

import sys# 輸出Python版本信息print(sys.version)# 打印命令行參數for arg in sys.argv:    print(arg)

sys模塊提供了訪問和控制Python解釋器運行時環境的方法,比如查看Python版本、獲取命令行參數等,幫你洞察程序內部運作機制。a0v28資訊網——每日最新資訊28at.com

模塊三:datetime - 時間管理專家

from datetime import datetime, timedelta# 獲取當前日期時間now = datetime.now()print(now)# 計算未來日期future_date = now + timedelta(days=30)print(future_date)

datetime模塊讓處理日期和時間變得簡單直觀,你可以獲取當前時間、計算時間間隔、進行日期格式化等,是編寫與時間相關的程序不可或缺的好幫手。a0v28資訊網——每日最新資訊28at.com

模塊四:math - 數學運算寶庫

import math# 計算圓面積radius = 5area = math.pi * radius ##  2print(area)# 計算最大公約數num1, num2 = ?, 21gcd = math.gcd(num1, num2)print(gcd)

math模塊封裝了大量數學函數和常量,如求平方根、計算圓周率、求最大公約數等,滿足你的數學運算需求。a0v28資訊網——每日最新資訊28at.com

模塊五:random - 隨機數生成魔術師

import random# 生成一個[0, 1)之間的隨機浮點數rand_float = random.random()print(rand_float)# 隨機從列表中選取一個元素choices = ['apple', 'banana', 'orange']random_choice = random.choice(choices)print(random_choice)

random模塊負責生成各種類型的隨機數,以及對列表等容器進行隨機抽樣,為你的程序添加不確定性,模擬真實世界的隨機行為。a0v28資訊網——每日最新資訊28at.com

模塊六:csv - 數據導出導入能手

import csv# 寫入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模塊簡化了CSV(逗號分隔值)文件的讀寫操作,無論是保存數據還是分析外部數據源,它都是你的得力助手。a0v28資訊網——每日最新資訊28at.com

模塊七:json - JSON數據處理好幫手

import json# 將Python對象轉換為JSON字符串data = {'name': 'John', 'age': 30}json_str = json.dumps(data)print(json_str)# 從JSON字符串解析回Python對象loaded_data = json.loads(json_str)print(loaded_data)

json模塊用于序列化和反序列化JSON數據,使得Python程序能夠輕松與使用JSON格式的Web服務或其他應用程序交換數據。a0v28資訊網——每日最新資訊28at.com

模塊八:requests - 網絡請求小飛俠

import requests# 發送GET請求并打印響應內容response = requests.get('https://api.github.com')print(response.text)

requests庫簡化了HTTP請求的發送過程,無論是GET、POST還是其他方法,只需幾行代碼就能實現,大大提升了網絡通信效率。a0v28資訊網——每日最新資訊28at.com

模塊九:pandas - 數據分析與處理巨擘

import pandas as pd# 從CSV文件加載數據到DataFramedf = pd.read_csv('data.csv')# 查看前5行數據print(df.head())

pandas庫提供了強大的數據結構DataFrame,用于高效地進行數據分析、清洗、統計和可視化,是Python數據科學領域的核心工具之一。a0v28資訊網——每日最新資訊28at.com

模塊十:numpy - 科學計算與數組操作神器

import numpy as np# 創建一個2x2的數組arr = np.array([[1, 2], [3, 4]])print(arr)# 計算數組元素之和sum_arr = np.sum(arr)print(sum_arr)

numpy庫提供高性能的多維數組對象和豐富的數學函數,是進行數值計算、機器學習、信號處理等領域開發的基礎庫。a0v28資訊網——每日最新資訊28at.com

模塊十一:matplotlib - 數據可視化魔法師

import matplotlib.pyplot as plt# 繪制簡單的折線圖plt.plot([1, 2, 3, 4], [1, 4, 9, 16])plt.show()

matplotlib庫用于創建靜態、動態、交互式的圖表,如折線圖、散點圖、柱狀圖等,是Python數據可視化的首選工具。a0v28資訊網——每日最新資訊28at.com

模塊十二:scipy - 科學計算全方位助手

from scipy.optimize import minimize# 定義目標函數def f(x):    return x## 2 + 10*np.sin(x)# 使用優化算法找到最小值result = minimize(f, x0=0)print(result.x)

scipy庫包含眾多科學計算工具箱,如最優化、插值、積分、信號處理、統計分析等,極大地擴展了Python在科學計算領域的能力。a0v28資訊網——每日最新資訊28at.com

模塊十三:re - 正則表達式獵手

import re# 使用正則表達式匹配郵箱地址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模塊實現了正則表達式的支持,讓你能夠靈活、高效地進行文本模式匹配、查找、替換等操作。a0v28資訊網——每日最新資訊28at.com

模塊十四:threading - 多線程任務執行者

import threading# 定義線程任務def thread_task(name):    print(f"Thread {name} started.")    # ... 執行任務 ...    print(f"Thread {name} finished.")# 創建并啟動兩個線程t1 = threading.Thread(target=thread_task, args=("Thread 1",))t2 = threading.Thread(target=thread_task, args=("Thread 2",))t1.start()t2.start()# 等待所有線程完成t1.join()t2.join()print("All threads finished.")

threading模塊支持多線程編程,使程序能夠在同一時刻執行多個任務,提高程序并發性能和響應速度。a0v28資訊網——每日最新資訊28at.com

模塊十五:timeit - 代碼性能測量儀

import timeit# 測試代碼塊執行時間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模塊提供了一種簡便的方法來測量小段代碼的執行時間,幫助開發者評估代碼性能,進行優化。a0v28資訊網——每日最新資訊28at.com

模塊十六:unittest - 單元測試守護神

import unittestclass 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標準庫中的單元測試框架,通過編寫測試用例來確保代碼的正確性和穩定性。a0v28資訊網——每日最新資訊28at.com

模塊十七:argparse - 命令行參數解析器

import argparseparser = 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模塊用于創建用戶友好的命令行接口,輕松處理程序接受的命令行參數。a0v28資訊網——每日最新資訊28at.com

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

import logginglogging.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模塊提供了通用的日志記錄系統,方便程序在運行過程中記錄調試信息、異常情況等,便于問題排查和跟蹤。a0v28資訊網——每日最新資訊28at.com

模塊十九:sqlite3 - 輕量級數據庫連接器

import sqlite3conn = 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內置的SQLite數據庫驅動,允許程序直接操作SQLite數據庫,進行數據存儲、查詢等操作。a0v28資訊網——每日最新資訊28at.com

模塊二十:hashlib - 哈希函數計算者

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

hashlib模塊提供了多種安全的哈希函數,如SHA-256,用于生成消息摘要或校驗數據完整性。a0v28資訊網——每日最新資訊28at.com

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

import xml.etree.ElementTree as ETroot = 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,包括解析、構建、搜索XML樹等功能。a0v28資訊網——每日最新資訊28at.com

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

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

shutil模塊提供了高級文件和目錄操作功能,如復制、移動文件,刪除目錄及其內容等。a0v28資訊網——每日最新資訊28at.com

模塊二十三:itertools - 生成器與迭代器魔法工廠

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

itertools模塊包含了一系列高效且內存友好的迭代器函數,如生成組合、排列、無限序列等,極大豐富了Python的循環結構。a0v28資訊網——每日最新資訊28at.com

模塊二十四:functools - 高級函數工具箱

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模塊提供了許多用于處理函數的工具,如裝飾器、高階函數等,有助于編寫更簡潔、更高效的代碼。a0v28資訊網——每日最新資訊28at.com

結語:模塊學習路徑與持續進階建議

恭喜你,已經完成了Python常用模塊的探險之旅!每個模塊都如同一塊拼圖,當你將它們熟練運用到實際項目中,便能構建出強大而優雅的Python應用。為了更好地掌握這些模塊,建議:a0v28資訊網——每日最新資訊28at.com

  • 動手實踐 :閱讀本文的同時,打開Python環境嘗試運行示例代碼,理解其工作原理。 
  • 深入學習 :查閱官方文檔或相關教程,了解模塊中未提及的其他功能和用法。
  • 結合項目 :在實際項目中尋找機會應用所學模塊,解決具體問題,提升實戰經驗。
  • 定期回顧 :定期復習模塊知識,更新自己的技能庫,保持對Python生態的敏感度。

編程之路永無止境,持續學習與實踐是進步的關鍵。祝你在Python的世界里游刃有余,盡情創造!a0v28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-91169-0.html關于 Python 的 24 個常用模塊簡介

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深度解析:Elasticsearch 寫入請求處理流程

下一篇: 我們一起了解Java垃圾收集

標簽:
  • 熱門焦點
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • Flowable工作流引擎的科普與實踐

    一.引言當我們在日常工作和業務中需要進行各種審批流程時,可能會面臨一系列技術和業務上的挑戰。手動處理這些審批流程可能會導致開發成本的增加以及業務復雜度的上升。在這
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 講故事上個月我寫過一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,當時用的是 GDIView + WinDbg 把問題搞定,前者用來定位泄露資源,后者用來定位泄露代碼,后面有朋友反
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(niudaocaijing)7月5日,企鵝FM發布官方公告稱由于業務調整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業務走向消亡。騰訊在長音頻領域還在摸索。為
  • 疑似小米14外觀設計圖曝光:后置相機模組變化不大

    下半年的大幕已經開啟,而誰將成為下半年手機圈的主角就成為了大家關注的焦點,其中被傳有望拿下新一代驍龍8 Gen3旗艦芯片的小米14系列更是備受大家矚
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • iQOO Neo8 Pro評測:旗艦雙芯加持 最強性能游戲旗艦

    【Techweb評測】去年10月,iQOO推出了一款Neo7手機,該機搭載了聯發科天璣9000+,配備獨顯芯片Pro+,帶來了同價位段最佳的游戲體驗,一經上市便受到了諸多用
  • 與兆芯合作 聯想推出全新旗艦版筆記本電腦開天N7系列

    聯想與兆芯合作推出全新聯想旗艦版筆記本電腦開天 N7系列。這個系列采用兆芯KX-6640MA處理器平臺,KX-6640MA 處理器是采用了陸家嘴架構,16nm 工藝,4 核 4 線
Top 主站蜘蛛池模板: 平果县| 柳河县| 安岳县| 大埔县| 太保市| 新竹县| 凤城市| 白城市| 来凤县| 阜阳市| 时尚| 新龙县| 上高县| 清涧县| 六安市| 登封市| 健康| 建平县| 永州市| 大荔县| 海盐县| 菏泽市| 炎陵县| 海口市| 嘉定区| 永春县| 淮北市| 藁城市| 忻州市| 容城县| 陕西省| 历史| 洛宁县| 外汇| 嵊州市| 凤庆县| 吉水县| 江油市| 房产| 福安市| 高要市|