当前位置:首页 > 科技  > 软件

关于 Python 的 24 个常用模块简介

来源: 责编: 时间:2024-05-28 09:11:30 314观看
导读大家好!今天,我们将一起揭开24个常用模块的神秘面纱,助你在编程道路上快速升级!模块一:os - 系统交互大师import os# 查看当前工作目录print(os.getcwd())# 创建新目录os.mkdir('new_folder')# 列出指定目录下的文件和子目

大家好!今天,我们将一起揭开24个常用模块的神秘面纱,助你在编程道路上快速升级!ZEY28资讯网——每日最新资讯28at.com

ZEY28资讯网——每日最新资讯28at.com

模块一:os - 系统交互大师

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

os模块是Python与操作系统对话的桥梁,让你轻松进行文件和目录操作,如获取当前工作目录、创建新目录、列出目录内容等。ZEY28资讯网——每日最新资讯28at.com

模块二:sys - 程序运行内幕探索者

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

sys模块提供了访问和控制Python解释器运行时环境的方法,比如查看Python版本、获取命令行参数等,帮你洞察程序内部运作机制。ZEY28资讯网——每日最新资讯28at.com

模块三:datetime - 时间管理专家

from datetime import datetime, timedelta# 获取当前日期时间now = datetime.now()print(now)# 计算未来日期future_date = now + timedelta(days=30)print(future_date)

datetime模块让处理日期和时间变得简单直观,你可以获取当前时间、计算时间间隔、进行日期格式化等,是编写与时间相关的程序不可或缺的好帮手。ZEY28资讯网——每日最新资讯28at.com

模块四:math - 数学运算宝库

import math# 计算圆面积radius = 5area = math.pi * radius ##  2print(area)# 计算最大公约数num1, num2 = ¾, 21gcd = math.gcd(num1, num2)print(gcd)

math模块封装了大量数学函数和常量,如求平方根、计算圆周率、求最大公约数等,满足你的数学运算需求。ZEY28资讯网——每日最新资讯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模块负责生成各种类型的随机数,以及对列表等容器进行随机抽样,为你的程序添加不确定性,模拟真实世界的随机行为。ZEY28资讯网——每日最新资讯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(逗号分隔值)文件的读写操作,无论是保存数据还是分析外部数据源,它都是你的得力助手。ZEY28资讯网——每日最新资讯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服务或其他应用程序交换数据。ZEY28资讯网——每日最新资讯28at.com

模块八:requests - 网络请求小飞侠

import requests# 发送GET请求并打印响应内容response = requests.get('https://api.github.com')print(response.text)

requests库简化了HTTP请求的发送过程,无论是GET、POST还是其他方法,只需几行代码就能实现,大大提升了网络通信效率。ZEY28资讯网——每日最新资讯28at.com

模块九:pandas - 数据分析与处理巨擘

import pandas as pd# 从CSV文件加载数据到DataFramedf = pd.read_csv('data.csv')# 查看前5行数据print(df.head())

pandas库提供了强大的数据结构DataFrame,用于高效地进行数据分析、清洗、统计和可视化,是Python数据科学领域的核心工具之一。ZEY28资讯网——每日最新资讯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库提供高性能的多维数组对象和丰富的数学函数,是进行数值计算、机器学习、信号处理等领域开发的基础库。ZEY28资讯网——每日最新资讯28at.com

模块十一:matplotlib - 数据可视化魔法师

import matplotlib.pyplot as plt# 绘制简单的折线图plt.plot([1, 2, 3, 4], [1, 4, 9, 16])plt.show()

matplotlib库用于创建静态、动态、交互式的图表,如折线图、散点图、柱状图等,是Python数据可视化的首选工具。ZEY28资讯网——每日最新资讯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在科学计算领域的能力。ZEY28资讯网——每日最新资讯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模块实现了正则表达式的支持,让你能够灵活、高效地进行文本模式匹配、查找、替换等操作。ZEY28资讯网——每日最新资讯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模块支持多线程编程,使程序能够在同一时刻执行多个任务,提高程序并发性能和响应速度。ZEY28资讯网——每日最新资讯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模块提供了一种简便的方法来测量小段代码的执行时间,帮助开发者评估代码性能,进行优化。ZEY28资讯网——每日最新资讯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标准库中的单元测试框架,通过编写测试用例来确保代码的正确性和稳定性。ZEY28资讯网——每日最新资讯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模块用于创建用户友好的命令行接口,轻松处理程序接受的命令行参数。ZEY28资讯网——每日最新资讯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模块提供了通用的日志记录系统,方便程序在运行过程中记录调试信息、异常情况等,便于问题排查和跟踪。ZEY28资讯网——每日最新资讯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数据库,进行数据存储、查询等操作。ZEY28资讯网——每日最新资讯28at.com

模块二十:hashlib - 哈希函数计算者

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

hashlib模块提供了多种安全的哈希函数,如SHA-256,用于生成消息摘要或校验数据完整性。ZEY28资讯网——每日最新资讯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树等功能。ZEY28资讯网——每日最新资讯28at.com

模块二十二:shutil - 文件与目录操作好伙伴

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

shutil模块提供了高级文件和目录操作功能,如复制、移动文件,删除目录及其内容等。ZEY28资讯网——每日最新资讯28at.com

模块二十三:itertools - 生成器与迭代器魔法工厂

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

itertools模块包含了一系列高效且内存友好的迭代器函数,如生成组合、排列、无限序列等,极大丰富了Python的循环结构。ZEY28资讯网——每日最新资讯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模块提供了许多用于处理函数的工具,如装饰器、高阶函数等,有助于编写更简洁、更高效的代码。ZEY28资讯网——每日最新资讯28at.com

结语:模块学习路径与持续进阶建议

恭喜你,已经完成了Python常用模块的探险之旅!每个模块都如同一块拼图,当你将它们熟练运用到实际项目中,便能构建出强大而优雅的Python应用。为了更好地掌握这些模块,建议:ZEY28资讯网——每日最新资讯28at.com

  • 动手实践 :阅读本文的同时,打开Python环境尝试运行示例代码,理解其工作原理。 
  • 深入学习 :查阅官方文档或相关教程,了解模块中未提及的其他功能和用法。
  • 结合项目 :在实际项目中寻找机会应用所学模块,解决具体问题,提升实战经验。
  • 定期回顾 :定期复习模块知识,更新自己的技能库,保持对Python生态的敏感度。

编程之路永无止境,持续学习与实践是进步的关键。祝你在Python的世界里游刃有余,尽情创造!ZEY28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-91169-0.html关于 Python 的 24 个常用模块简介

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 深度解析:Elasticsearch 写入请求处理流程

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

标签:
  • 热门焦点
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 疑似小米14外观设计图曝光:后置相机模组变化不大

    下半年的大幕已经开启,而谁将成为下半年手机圈的主角就成为了大家关注的焦点,其中被传有望拿下新一代骁龙8 Gen3旗舰芯片的小米14系列更是备受大家瞩
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 联想YOGA 16s 2022笔记本将要推出,屏幕支持触控功能

    联想此前宣布,将于11月2日19:30召开联想秋季轻薄新品发布会,推出联想 YOGA 16s 2022 笔记本等新品。官方称,YOGA 16s 2022 笔记本将搭载 16 英寸屏幕,并且是一
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克&middot;扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:&ldquo;不仅
Top