Python模块篇(五)

模块

    • 模块与包
      • 模块的导入与使用
      • 标准库的常用模块
      • 第三方库的安装与使用(如:pip工具)

模块与包

模块是一个包含 Python 代码的文件,通常以 .py 作为扩展名。一个模块可以包含函数、类、变量,以及可执行的代码段。模块的作用是将代码分割成逻辑上独立的部分,以便更好地组织和复用

包是一个包含多个模块的目录。包通过在目录中包含一个特殊的 init.py 文件来区分普通目录和包目录。init.py 文件可以是空的,也可以包含包的初始化代码

模块的导入与使用

在 Python 中,导入和使用模块可以通过几种不同的方式来实现

  • 使用 import 语句导入整个模块
    这种方式导入整个模块,然后通过模块名访问其中的函数、类或变量
# math_operations.py
def add(a, b):return a + bdef subtract(a, b):return a - b

导入并使用模块

import math_operationsresult = math_operations.add(5, 3)
print(result)  # 输出:8result = math_operations.subtract(5, 3)
print(result)  # 输出:2
  • 使用 from … import … 导入模块中的指定部分
    这种方式可以只导入模块中的某个函数、类或变量,直接使用而不需要前缀模块名
from math_operations import add, subtractresult = add(5, 3)
print(result)  # 输出:8result = subtract(5, 3)
print(result)  # 输出:2
  • 使用 as 关键字给模块或函数起别名
    如果模块名或函数名较长,可以使用 as 关键字起一个别名,以简化后续的调用
import math_operations as moresult = mo.add(5, 3)
print(result)  # 输出:8from math_operations import subtract as subresult = sub(5, 3)
print(result)  # 输出:2
  • 导入包中的模块
    当模块位于包中时,可以使用点号 (.) 来导入包中的模块
math_utils/__init__.pybasic_operations.pyadvanced_operations.py

可以导入并使用 basic_operations.py 中的函数

from math_utils.basic_operations import addresult = add(5, 3)
print(result)  # 输出:8

标准库的常用模块

Python 的标准库中包含了大量预先编写好的模块,可以直接导入并使用,极大地方便了开发。以下是一些常用的标准库模块及其功能简介

  • os 模块
    os 模块提供了与操作系统交互的功能,比如文件和目录操作、环境变量、进程管理等。

常用功能:

  • os.listdir(path):列出指定目录下的文件和子目录。
  • os.mkdir(path):创建目录。
  • os.remove(path):删除文件。
  • os.rename(src, dst):重命名文件或目录。
  • os.getenv(key):获取环境变量的值。
import oscurrent_dir = os.getcwd()  # 获取当前工作目录
print(current_dir)files = os.listdir('.')  # 列出当前目录下的文件和目录
print(files)
  • sys 模块
    sys 模块提供了与 Python 解释器相关的功能和变量,可以访问命令行参数、控制 Python 运行环境等。

常用功能:

  • sys.argv:获取命令行参数列表。
  • sys.exit([status]):退出程序,status 是退出状态码。
  • sys.path:获取模块的搜索路径
import sysprint(sys.argv)  # 输出命令行参数列表
sys.exit(0)  # 正常退出程序
  • datetime 模块
    datetime 模块用于处理日期和时间,可以创建、操作日期和时间对象。

常用功能:

  • datetime.datetime.now():获取当前日期和时间。
  • datetime.date(year, month, day):创建一个日期对象。
  • datetime.timedelta(days=, seconds=, …):表示时间间隔,用于时间的加减运算。
from datetime import datetime, timedeltanow = datetime.now()
print(now)yesterday = now - timedelta(days=1)
print(yesterday)
  • math 模块
    math 模块提供了数学函数和常数,如三角函数、对数、平方根等。

常用功能:

  • math.sqrt(x):计算平方根。
  • math.sin(x)、math.cos(x):计算三角函数。
  • math.log(x, base):计算对数。
import mathprint(math.sqrt(16))  # 输出:4.0
print(math.sin(math.pi / 2))  # 输出:1.0
  • random 模块
    random 模块用于生成随机数,可以用于随机选择、打乱顺序等。

常用功能:

  • random.random():生成 0 到 1 之间的随机浮点数。
  • random.randint(a, b):生成 [a, b] 之间的随机整数。
  • random.choice(seq):从序列中随机选择一个元素。
  • random.shuffle(seq):随机打乱序列。
import randomprint(random.random())  # 输出一个随机浮点数
print(random.randint(1, 10))  # 输出 1 到 10 之间的随机整数
  • re 模块
    re 模块用于正则表达式操作,可以进行复杂的字符串匹配、查找、替换等。

常用功能:

  • rre.match(pattern, string):从字符串开头进行正则匹配。
  • rre.search(pattern, string):在字符串中搜索符合正则的内容。
  • rre.findall(pattern, string):查找所有匹配的内容。
import repattern = r'\d+'  # 匹配一个或多个数字
text = "There are 123 apples and 456 oranges."matches = re.findall(pattern, text)
print(matches)  # 输出:['123', '456']
  • json 模块
    json 模块用于处理 JSON 数据,可以将 Python 对象与 JSON 数据进行相互转换。

常用功能:

  • json.dumps(obj):将 Python 对象转换为 JSON 字符串。
  • json.loads(json_str):将 JSON 字符串转换为 Python 对象。
  • json.dump(obj, file):将 Python 对象以 JSON 格式保存到文件中。
  • json.load(file):从文件中读取 JSON 数据并转换为 Python 对象。
import jsondata = {'name': 'Alice', 'age': 25}
json_str = json.dumps(data)
print(json_str)  # 输出:{"name": "Alice", "age": 25}data_from_json = json.loads(json_str)
print(data_from_json)  # 输出:{'name': 'Alice', 'age': 25}

第三方库的安装与使用(如:pip工具)

在 Python 中,第三方库 是由社区或开发者提供的额外功能包,可以通过包管理工具 pip 来安装和管理。这些库可以极大地扩展 Python 的功能

pip 工具简介

  • pip 是 Python 官方推荐的包管理工具,用于安装、升级和卸载 Python 包。使用 pip,你可以从 * Python 包索引(PyPI)中下载和安装各种第三方库。

现在基本使用pip3,pip 和 pip3 都是用于安装和管理Python包的工具,但它们的区别主要在于它们所对应的Python版本:
pip: 通常与 Python 2.x 版本绑定。当你使用 pip 命令时,它会默认安装和管理 Python 2.x 版本的包。
pip3: 专门用于 Python 3.x 版本。当你使用 pip3 命令时,它会默认安装和管理 Python 3.x 版本的包。

  • 安装第三方库
    要安装一个第三方库,比如requests(一个流行的HTTP库)
pip3 install requests

在联网环境中下载库,不安装

pip3 download requests -d /path/to/save

离线安装库

pip3 install --no-index --find-links=/path/to/save requests

升级第三方库

pip3 install --upgrade requests

卸载第三方库

pip3 uninstall requests

查看已安装的库

pip3 list

查看库的详细信息

pip3 show requests
  • 使用requirements文件安装库
    在实际项目中,通常会使用一个requirements.txt文件来列出项目所需的所有库及其版本
pip3 install -r requirements.txt

生成requirements文件

pip3 freeze > requirements.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm2023.1破解

下载解压文件,文件夹 /jetbra 复制电脑某个位置 注意: 补丁所属文件夹需单独存放,且放置的路径不要有中文与空格,以免 Pycharm 读取补丁错误。 点击进入 /jetbra 补丁目录,再点击进入 /scripts 文件夹,双…

leetcode_55. 跳跃游戏

55. 跳跃游戏 题目描述:给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回…

javaer快速入门 goweb框架 gin

gin 入门 前置条件 安装环境 配置代理 # 配置 GOPROXY 环境变量,以下三选一# 1. 七牛 CDN go env -w GOPROXYhttps://goproxy.cn,direct# 2. 阿里云 go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct# 3. 官方 go env -w GOPROXYhttps://goproxy.…

鸿蒙内核源码分析——(自旋锁篇)

本篇说清楚自旋锁 读本篇之前建议先读系列篇 进程/线程篇. 内核中哪些地方会用到自旋锁?看图: 概述 自旋锁顾名思义,是一把自动旋转的锁,这很像厕所里的锁,进入前标记是绿色可用的,进入格子间后,手一带&#xff0c…

10分钟学会LVM逻辑卷

华子目录 前言认识LVMLVM基本概念LVM整体流程LVM管理命令pvs,vgs,lvs命令pvs基本用法选项示例 vgs基本用法选项示例 lvs基本用法 pvcreate,vgcreate,lvcreate命令pvcreate示例 vgcreate基本用法示例选项 lvcreate基本用法示例 pvr…

Python爬虫入门教程(非常详细)适合零基础小白

一、什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将…

【电路笔记】-无源衰减器总结

无源衰减器总结 文章目录 无源衰减器总结1、概述2、L-型无源衰减器设计3、T-型无源衰减器设计4、桥接 T 型衰减器设计5、π型无源衰减器设计无源衰减器是一个纯电阻网络,可用于控制输出信号的电平。 1、概述 无源衰减器是一种纯电阻网络,用于削弱或“衰减”传输线的信号电平…

golang中defer的执行时间是什么时候?是在return前还是return后执行的?

在Go语言中,defer语句指定的函数调用会在包含它的函数即将完成时执行,具体来说: 执行时间:defer语句指定的函数在包含它的函数的返回值被确定后执行,但在该函数真正的返回操作之前执行。这意味着defer执行时&#xff0…

Element UI中报dateObject.getTime is not a function解决方法~

1、错误信息。 2、该报错原因是Element UI中日期组件的校验规则是type: "date",而一般我们从后台拿到的数据是字符串型的,不满足预期,就会报错。 3、解决方法。 去掉日子组件中的type: "date"校验规则即可。 rules: {newName: [{…

设计模式之Data Access Object

在软件开发中,应用程序通常需要与数据库进行交互,执行数据的读取、插入、更新和删除等操作。为了实现这些功能,开发者通常会使用特定的设计模式来组织代码,提高可维护性和可扩展性。Data Access Object(DAO&#xff09…

【Python爬虫】技术深度探索与实践

目录 引言 第一部分:Python爬虫基础 1.1 网络基础 1.2 Python爬虫基本流程 第二部分:进阶技术 2.1 动态网页抓取 2.2 异步编程与并发 2.3 反爬虫机制与应对 第三部分:实践案例 第四部分:法律与道德考量 第五部分&#x…

EasyCVR视频汇聚平台:深度解析GB/T 28181协议下的视频资源整合与应用

随着安防技术的快速发展和智慧城市建设的推进,视频监控系统作为公共安全、城市管理、企业运营等领域的重要基础设施,其重要性和应用范围不断扩大。在这一过程中,GB/T 28181作为国家标准中关于视频监控设备通信协议的规范,正逐渐受…

C2M商业模式分析与运营平台建设解决方案(四)

C2M商业模式以消费者需求驱动生产制造,实现个性化与效率的双赢。本解决方案将围绕构建智能化、数据驱动的运营平台,通过精准把握市场需求、优化生产流程、强化供应链管理,打造高效、敏捷、柔性的C2M运营体系,助力企业快速响应市场…

python算法优化——functools.lru_cache

1. 优化算法的思想 当算法的复杂度较高时,常见的优化策略包括: 减少重复计算:通过缓存结果避免相同输入的重复计算。这种方法常用在递归和动态规划问题中。合理使用数据结构:根据具体问题,选择合适的数据结构&#x…

华为AR1220配置GRE隧道

1.GRE隧道的配置 GRE隧道的配置过程,包括设置接口IP地址、配置GRE隧道接口和参数、配置静态路由以及测试隧道连通性。GRE隧道作为一种标准协议,支持多协议传输,但不提供加密,并且可能导致CPU资源消耗大和调试复杂等问题。本文采用华为AR1220路由器来示例说明。 配置…

【电路笔记】-桥接 T 型衰减器

桥接 T 型衰减器 文章目录 桥接 T 型衰减器1、概述2、桥接 T 型衰减器示例 13、可变桥接 T 型衰减器4、完全可调衰减器5、可切换桥接 T 型衰减器Bridged-T 衰减器是另一种电阻衰减器设计,它是标准对称 T 垫衰减器的变体。 1、概述 顾名思义,桥接 T 形衰减器具有一个额外的电…

Cesium模型制作,解决Cesium加载glb/GLTF显示太黑不在中心等问题

Cesium模型制作,解决Cesium加载glb/GLTF显示太黑不在中心等问题 QQ可以联系这里,谢谢

Spring SSM框架--MVC

SSM框架–Mybatis 一、介绍 Spring 框架是一个资源整合的框架,可以整合一切可以整合的资源(Spring 自身和第三方),是一个庞大的生态,包含很多子框架:Spring Framework、Spring Boot、Spring Data、Spring…

红与黑-计算可到达的瓷砖数

红与黑-计算可到达的瓷砖数 http://noi.openjudge.cn/ch0205/1818/ 思路&#xff1a; 1.从起点出发&#xff0c;往四个方向走 2.在范围内 路径通可以走&#xff0c;没走过&#xff0c;递归往下走 并记录走过步数 #include<bits/stdc.h> using namespace std;char s;…

C++高性能编程:ZeroMQ vs Fast-DDS发布-订阅模式下性能对比与分析

文章目录 0. 引言1. 目标&#xff1a;ZeroMQ与Fast-DDS性能对比2. ZeroMQ vs Fast-DDS - 延迟基准测试2.1 一对一发布-订阅延迟2.2 一对多发布-订阅延迟 3. ZeroMQ vs Fast-DDS - 吞吐量基准测试4. 方法论5. 结论6. 参考 0. 引言 高要求的分布式系统催生了对轻量级且高性能中间…