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

python---模块

文章目录

  • 模块的主要作用
  • 模块分类
  • 使用模块
    • 导入模块
    • 从模块导入特定内容
    • 给模块或导入内容起别名
    • 导入模块中的所有内容(不推荐)
  • 创建自定义模块
  • 模块搜索路径
  • 特殊变量 __name__
  • 标准库模块示例

模块(Module)是 Python 中组织代码的基本单位,它是一个包含 Python 定义和语句的文件,文件名就是模块名加上 .py 后缀。

模块的主要作用

1、代码重用:可以将常用的功能封装在模块中,供多个程序使用

2、命名空间管理:避免命名冲突

3、代码组织:将相关代码组织在一起,提高可维护性

模块分类

1、内置模块
2、第三方模块
需要手动下载,打开cmd命令行,使用命令"pip install 模块名"下载模块,
使用命令"pip uninstall 模块名" 卸载模块
3、自定义模块

使用模块

导入模块

# 导入整个模块
import math# 使用模块中的内容
print(math.pi)  # 3.141592653589793

从模块导入特定内容

这样子变量可以直接使用不需要 “模块名.变量”,但是也会和本文件的文件名产生冲突。
示例代码1:

# 从模块导入特定函数/变量
from math import pi, sqrtprint(pi)      # 3.141592653589793
print(sqrt(16))  # 4.0

示例代码2:

# 从模块导入特定函数/变量
from math import pi, sqrtpi = 5print(pi)      # 5
print(sqrt(16))  # 4.0

给模块或导入内容起别名

# 给模块起别名
import numpy as np# 给导入的内容起别名
from math import sqrt as square_root# 支持多个数据同时起别名
from math import pi as a, sqrt as b

导入模块中的所有内容(不推荐)

变量和方法会起冲突,后导入的覆盖先导入的

from math import *  # 导入math模块中的所有内容print(pi)  # 可以直接使用,不需要math.前缀

创建自定义模块

1、创建一个 .py 文件,例如 mymodule.py
2、在文件中定义函数、变量等

# mymodule.py
def greet(name):return f"Hello, {name}!"version = "1.0"

3、在其他文件中导入使用

import mymoduleprint(mymodule.greet("Alice"))  # Hello, Alice!
print(mymodule.version)         # 1.0

模块搜索路径

当导入一个模块时,Python 会按以下顺序搜索:

1、当前目录

2、PYTHONPATH 环境变量指定的目录

3、Python 安装的默认路径

可以通过 sys.path 查看搜索路径:

import sys
print(sys.path)

特殊变量 name

每个模块都有一个 name 属性:
1、当模块被直接运行时,name 等于 ‘main
2、当模块被导入时,name 等于模块名
常用于编写测试代码:
示例代码1:
为了测试目前是否运行该文件

# mymodule.py
def func():print("This is a function")if __name__ == '__main__':# 以下代码只在直接运行该模块时执行print("Running the module directly")func()

输出结果1:

Running the module directly
This is a function

示例代码2:

print(__name__)

输出结果2:

__main__

示例代码3:
在新建的mymodule模块中假如以下代码:

def getfilename():print(__name__)

在运行的文件中假如以下代码:

import mymodule
mymodule.getfilename()

输出结果3:
输出结果为导入模块的名称

mymodule

标准库模块示例

Python 自带许多有用的标准库模块:

import os          # 操作系统接口
import sys         # 系统相关功能
import math        # 数学运算
import random      # 生成随机数
import datetime    # 日期时间处理
import json        # JSON 处理
import re          # 正则表达式
http://www.xdnf.cn/news/18176.html

相关文章:

  • CentOS7安装使用FTP服务
  • java内存模型:
  • 新字符设备驱动实验
  • DBngin:告别数据库多版本环境管理的烦恼
  • 后台管理系统-4-vue3之pinia实现导航栏按钮控制左侧菜单栏的伸缩
  • 如何解决C盘存储空间被占的问题,请看本文
  • 数据清洗:数据处理的基石
  • 【完整源码+数据集+部署教程】太阳能面板污垢检测系统源码和数据集:改进yolo11-RVB-EMA
  • IO流与单例模式
  • 【101页PPT】芯片半导体企业数字化项目方案汇报(附下载方式)
  • ArrayList的扩容源码分析
  • 1083. 数列极差问题
  • duiLib 实现鼠标拖动标题栏时,窗口跟着拖动
  • K8s核心组件全解析
  • 产品设计.原型设计
  • 嵌入式 Linux LED 驱动开发实验
  • SpringBoot 整合 Langchain4j:系统提示词与用户提示词实战详解
  • EP1C12F324I7N Altera Cyclone FPGA
  • Python 读取 CSV 文件并删除前五列
  • [安洵杯 2019]Attack
  • Win11更新0x80073712错误解决方法
  • Java 中重载与重写的全面解析(更新版)
  • vscode的使用
  • 10.从开始写LINUX内核——时钟中断
  • 12分区南排烟机,多线模块没电
  • nflsoi 8.16 题解
  • day42_2025-08-16
  • Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
  • 第3章现象表:比较顺序表和链表
  • 记录 GMS 认证相关条件