本篇是 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模块的更多相关文章

  1. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  2. 7.python模块补充

    此文章是对上节文章模块的补充 一,xml模块 xml是实现不同语言或程序之间进行数据交换的协议,可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.xml的格式如下 ...

  3. python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fal ...

  4. Python天天美味(15) - Python正则表达式操作指南(re使用)(转)

    http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...

  5. python模块之paramiko

              46.python模块之paramiko   SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  6. python模块之time和datetime

    33.python模块之time      1.>>> time.time() 1470900847.8458395 ==>时间戳,从1970年到现在.      2.> ...

  7. Python模块的介绍

    Python模块的学习: 1.os模块: 下面只对os模块中几个比较常用的方法做一些简单的示例: os.system():这个方法在shell中体现的比较多,在dos命令行中也可以执行,下面就以在do ...

  8. 用于水和水蒸汽物性计算的Python模块——iapws

    无论是火电还是核电,将能量转化为电能的方式主要还是烧开水,即加热水产生高压蒸汽驱动汽轮机做功再发电.在进行热力循环分析.流动传热计算时,需获得水和水蒸汽的物性参数.网上主流的水蒸汽物性计算程序是上海成 ...

  9. Python/模块与包之模块

    Python/模块与包之模块 1.什么是模块? 模块就是py文件 2.为什么要用模块? 如果在解释器上进行编码,把解释器关闭之前写的文件就不存在了,如果使用模块的话就能永久保存在磁盘中. 3.如何使用 ...

  10. 打包发布Python模块或程序,安装包

    Python模块.扩展和应用程序可以按以下几种形式进行打包和发布: python setup.py获取帮助的方式 python setup.py --help python setup.py --he ...

随机推荐

  1. 树莓派4B-控制霍尔编码器

    霍尔编码器-直流减速电机 介绍 直流减速电机,即齿轮减速电机,是在普通直流电机的基础上,加上配套齿轮减速箱.齿轮减速箱的作用是,提供较低的转速,较大的力矩.同时,齿轮箱不同的减速比可以提供不同的转速和 ...

  2. yb课堂 视频详情页模块开发《三十八》

    CourseDetail基础模块开发 CourseDetail模块开发,拆分组件 CourseDetail.vue Header.vue Course.vue Tab.vue Summary.vue ...

  3. yb课堂 新版VueCli 4.3创建vue项目,Vue基础语法入门 《二十九》

    Vue模版语法开发起步 基于HTML的模版语法,允许声明式地将DOM绑定至底层Vue实例的数据 用简洁的模版语法来声明式的将数据渲染进DOM的系统 结合响应系统,在应用状态改变时,Vue能够智能地计算 ...

  4. Mybatis ResultMap复杂对象一对一查询结果映射之association

    Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom ...

  5. R语言将多景遥感影像拼接在一起的方法

      本文介绍基于R语言中的raster包,遍历文件夹,读取文件夹下的大量栅格遥感影像,并逐一对每一景栅格图像加以拼接.融合,使得全部栅格遥感影像拼接为完整的一景图像的方法.   其中,本文是用R语言来 ...

  6. 解读MySQL 8.0数据字典缓存管理机制

    背景介绍 MySQL的数据字典(Data Dictionary,简称DD),用于存储数据库的元数据信息,它在8.0版本中被重新设计和实现,通过将所有DD数据唯一地持久化到InnoDB存储引擎的DD t ...

  7. UE5 打不开

    在游戏开发中,出现了UE打不开的情况 初步推测,新增了接口Attacker, 而我们的DefaultPawn可能一下子实现了两个接口造成的 而这两个接口都在一个插件里,一个是c++实现的,一个是蓝图实 ...

  8. LeetCode122. 买卖股票的最佳时机 II

    题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/ 题目叙述: 给你一个整数数组 pri ...

  9. 搭建php环境

    nginx安装在宿主机上 db: 正式采用阿里云rds 测试使用docker安装 注意:报错一般都是需要配置国内镜像源,看之前的配置记录. 除了关闭防火墙,还要设置这个(本地开发环境) 永久关闭 SE ...

  10. php使用jwt作登录验证

    JWT官网 https://jwt.io/ 选择第一个 composer require firebase/php-jwt use Firebase\JWT\ExpiredException;use ...