当前位置: 首页 > news >正文

15 Python模块

本篇是 Python 系列教程第 15 篇,更多内容敬请访问我的 Python 合集

一个模块其实就是一个文件(以.py结尾)。使用模块的好处是便于维护和重用代码。

要创建一个模块,只需编写一个新的文本文件,保存为 .py 扩展名。

1 引入模块

1.1 导入整个模块

import mymodule
mymodule.some_function()

1.2 导入特定的函数或类

from mymodule import some_function
some_function()

1.3 导入所有内容

from mymodule import *
some_function()  # 直接调用函数,无需模块前缀

1.4 使用别名

import mymodule as mm
mm.some_function()

2 常用模块

Python 的标准库非常庞大,提供了大量的内置模块来支持各种编程任务。这里列举了一些常用的模块及其主要用途:

2.1 标准库模块

2.1.1 os

操作系统相关功能,如读取环境变量、改变目录等。

import os
print(os.getcwd())  # 获取当前工作目录
2.1.2 sys

系统特定的一些变量和函数,如获取命令行参数、退出程序等。

import sys
print(sys.argv)  # 获取命令行参数
2.1.3 math

数学函数,如平方根、对数等。

import math
print(math.sqrt(16))  # 计算平方根
2.1.4 random

生成随机数。

import random
print(random.randint(1, 100))  # 生成一个1到100之间的随机整数
2.1.5 datetime

日期和时间操作。

from datetime import datetime
print(datetime.now())  # 获取当前日期和时间
2.1.6 re

正则表达式支持。

import re
pattern = r'\d+'
result = re.findall(pattern, '123 abc 456')
print(result)  # 输出所有匹配数字的字符串
2.1.7 json

JSON 编码和解码。

import json
data = {'name': 'John', 'age': 30}
json_str = json.dumps(data)
print(json_str)  # 将字典转换为 JSON 字符串
2.1.8 collections

高级容器类型,如 defaultdict, Counter, deque 等。

from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
print(d['a'])  # 输出: 1
2.1.9 itertools

迭代工具,提供了高效的循环迭代器。

import itertools
for x in itertools.count(start=1):print(x)if x > 10:break  # 无限计数,直到超过10
2.1.10 functools

高阶函数工具,如装饰器、偏函数等。

from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):if n < 2:return nreturn fib(n-1) + fib(n-2)
print(fib(10))  # 计算斐波那契数列第10项
2.1.11 pathlib

用于处理路径的现代接口。

from pathlib import Path
p = Path('/etc') / 'passwd'
print(p)  # 输出: /etc/passwd
12. argparse

解析命令行参数和选项。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input", help="input file")
args = parser.parse_args()
print(args.input)

2.2 第三方模块

除了标准库之外,还有许多第三方模块可以安装和使用,例如:

  • NumPy - 数值计算。
  • Pandas - 数据分析。
  • Matplotlib - 数据可视化。
  • Requests - 发送 HTTP 请求。
  • Flask - Web 开发框架。
  • SQLAlchemy - 数据库抽象层。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • IDEA Maven 源修改为国内阿里云镜像的正确方式
  • 【x265】预测模块的简单分析—帧间预测
  • springboot提升-切面编程
  • macos系统内置php文件列表 系统自带php卸载方法
  • 沐渥科技:两显氮气柜和三显氮气柜要怎么选择?
  • FPGA开发:可编程逻辑器件概述
  • vue中的css深度选择器
  • 基于STM32的RTOS--freertos的使用(HAL实现多任务)
  • react 子组件调用父组件方法,获取的数据不是最新值
  • 用RNN(循环神经网络)预测股票价格
  • 前端技术(六)—— AJAX详解
  • 为什么 2!=false 和 2!=true 返回的都是true
  • Java-IO:浅谈对IO的认识
  • 【大规模语言模型:从理论到实践】Transformer中PositionalEncoder详解
  • java 给list对象根据给定条数进行分组工具类
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 2017 年终总结 —— 在路上
  • canvas 绘制双线技巧
  • git 常用命令
  • golang中接口赋值与方法集
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js
  • leetcode98. Validate Binary Search Tree
  • Python - 闭包Closure
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring声明式事务管理之一:五大属性分析
  • tab.js分享及浏览器兼容性问题汇总
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 笨办法学C 练习34:动态数组
  • 初识MongoDB分片
  • 从setTimeout-setInterval看JS线程
  • 从重复到重用
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 正则表达式小结
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (3)STL算法之搜索
  • (arch)linux 转换文件编码格式
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)人的集合论——移山之道
  • . NET自动找可写目录
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET : 在VS2008中计算代码度量值
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • .net实现客户区延伸至至非客户区
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @property括号内属性讲解
  • @在php中起什么作用?
  • [000-002-01].数据库调优相关学习
  • [Android] 240204批量生成联系人,短信,通话记录的APK