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 n
return 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 - 数据库抽象层。
15 Python模块的更多相关文章
- python 学习第五天,python模块
一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...
- 7.python模块补充
此文章是对上节文章模块的补充 一,xml模块 xml是实现不同语言或程序之间进行数据交换的协议,可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.xml的格式如下 ...
- python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化
1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fal ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
- python模块之paramiko
46.python模块之paramiko SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- python模块之time和datetime
33.python模块之time 1.>>> time.time() 1470900847.8458395 ==>时间戳,从1970年到现在. 2.> ...
- Python模块的介绍
Python模块的学习: 1.os模块: 下面只对os模块中几个比较常用的方法做一些简单的示例: os.system():这个方法在shell中体现的比较多,在dos命令行中也可以执行,下面就以在do ...
- 用于水和水蒸汽物性计算的Python模块——iapws
无论是火电还是核电,将能量转化为电能的方式主要还是烧开水,即加热水产生高压蒸汽驱动汽轮机做功再发电.在进行热力循环分析.流动传热计算时,需获得水和水蒸汽的物性参数.网上主流的水蒸汽物性计算程序是上海成 ...
- Python/模块与包之模块
Python/模块与包之模块 1.什么是模块? 模块就是py文件 2.为什么要用模块? 如果在解释器上进行编码,把解释器关闭之前写的文件就不存在了,如果使用模块的话就能永久保存在磁盘中. 3.如何使用 ...
- 打包发布Python模块或程序,安装包
Python模块.扩展和应用程序可以按以下几种形式进行打包和发布: python setup.py获取帮助的方式 python setup.py --help python setup.py --he ...
随机推荐
- python使用flask框架生成excle返回前端(包含图片、表格、表头灰色、表格加边框)
python使用flask框架生成excle文档,文档中包含图片和表格,其中表格要包含图片.表格.表头灰色.表格加边框,照片和表格不重叠. 逻辑:获得图片的高度,根据高度计算表格从第几行开始插入. 效 ...
- 物联网浏览器(IoTBrowser)-基于计算机视觉开发的应用“智慧眼AIEye”
一.起因 最近毕业在家:),准备筹划社区运营和IoTBrowser升级的事务,遇到了一系列物业管理上的问题,本来出于好心提醒物业人员,结果反被误认为是打广告推销的,当时被激怒一下,后面一想也许这也是一 ...
- 2. C++的编译/链接模型
C++的编译/链接模型 简单的加工模型 问题:无法处理大型程序 加工耗时较长 即使少量修改,也需要重新加工 解决方案:分块处理 好处 编译消耗资源,但一次处理输入较少 链接程序较多,但处理速度较快 便 ...
- 推荐2款.NET开源、轻便、实用的Windows桌面启动器
Flow Launcher Flow Launcher是一款.NET开源(MIT License).免费.功能强大.方便实用的 Windows 文件搜索和应用程序启动器,能够帮助你快速查找文件.启动应 ...
- 基于 Vagrant 手动部署多个 Redis Server
环境准备 宿主机环境:Windows 10 虚拟机环境:Vagrant + VirtualBox Vagrantfile 配置 首先,我们需要编写一个 Vagrantfile 来定义我们的虚拟机配置. ...
- npm ERR! `perfix` is not a valid npm option
全局路径cmd命令:npm config set perfix "D:\Program Files\nodejs\node_global" 缓存路径cmd命令:npm config ...
- oeasy教您玩转vim - 77 - # 保留环境viminfo
保留环境viminfo 回忆组合键映射的细节 上次我们定义了session :mks 还可以加载会话session :source Session.vim vim -S Session.vim 基 ...
- NAS使用
openwrt下的samba设置 - 百度文库 (baidu.com) openwrt下 samba设置 (wjhsh.net) opkg updateopkg install shadow-user ...
- 新年切红包-scratch小游戏
程序说明: <新年切红包>是一款Scratch制作的小游戏,灵感来源于流行的切水果游戏.在这个游戏中,玩家需要用鼠标切割屏幕上不断飞出的红包,切割到红包将获得金币奖励,而切割到爆竹则会导致 ...
- python面向对象:多态
python面向对象:多态 多态的应用场景 1. 对象所属的类之间没有继承关系 调用同一个函数fly(), 传入不同的参数(对象),可以达成不同的功能 class Duck(object): # 鸭子 ...