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

【Python】模块

在这里插入图片描述

个人主页:Guiat
归属专栏:Python

在这里插入图片描述

文章目录

  • 1. 模块的概念
  • 2. 模块的创建
  • 3. 模块的导入
  • 3.1 `import` 语句
    • 3.2 `from...import` 语句
    • 3.3 `from...import *` 语句
  • 4. 模块的搜索路径
  • 5. 模块的内置属性
    • 5.1 `__name__` 属性
    • 5.2 `__doc__` 属性
  • 6. 标准库模块
    • 6.1 `math` 模块
    • 6.2 `random` 模块
    • 6.3 `os` 模块
  • 7. 第三方模块
    • 7.1 安装第三方模块
    • 7.2 使用第三方模块

正文

1. 模块的概念

在 Python 里,模块是一个包含 Python 定义和语句的文件,其文件名以 .py 结尾。模块可以定义函数、类和变量,还能包含可执行的代码。使用模块能够将代码组织成多个文件,增强代码的可维护性和可复用性。

2. 模块的创建

简单模块示例:
创建一个简单的模块,例如创建一个名为 math_operations.py 的文件,内容如下:

# math_operations.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

PI = 3.14159

在这个模块中,定义了两个函数 addsubtract,还定义了一个常量 PI

3. 模块的导入

3.1 import 语句

使用 import 语句可以导入整个模块。导入后,可以使用模块名作为前缀来访问模块中的函数、类和变量。

import math_operations

result_add = math_operations.add(3, 5)
print(result_add)  

result_subtract = math_operations.subtract(10, 4)
print(result_subtract)  

print(math_operations.PI)  

3.2 from...import 语句

使用 from...import 语句可以从模块中导入特定的函数、类或变量,导入后可以直接使用这些名称,无需加模块名前缀。

from math_operations import add, PI

result = add(2, 7)
print(result)  

print(PI)  

3.3 from...import * 语句

使用 from...import * 语句可以导入模块中的所有内容。不过这种方式可能会导致命名冲突,不建议在生产代码中大量使用。

from math_operations import *

result = subtract(8, 3)
print(result)  

4. 模块的搜索路径

当使用 import 语句导入模块时,Python 会按照以下顺序搜索模块:

  1. 当前目录:Python 首先会在当前运行脚本所在的目录中查找模块。
  2. 环境变量 PYTHONPATH 包含的目录:可以通过设置 PYTHONPATH 环境变量来指定额外的模块搜索路径。
  3. Python 安装目录下的标准库目录:Python 自带的标准库模块会在这里被找到。

可以通过 sys.path 查看 Python 的模块搜索路径:

import sys
print(sys.path)

5. 模块的内置属性

5.1 __name__ 属性

每个模块都有一个 __name__ 属性,当模块作为脚本直接运行时,__name__ 的值为 '__main__';当模块被其他模块导入时,__name__ 的值为模块名。可以利用这个属性来区分模块是作为脚本运行还是被导入。

# math_operations.py
def add(a, b):
    return a + b

if __name__ == '__main__':
    result = add(2, 3)
    print(result)

5.2 __doc__ 属性

__doc__ 属性用于获取模块的文档字符串,即模块文件开头用三引号括起来的说明性文字。

# math_operations.py
"""
这是一个用于数学运算的模块。
包含加法和减法函数。
"""
def add(a, b):
    return a + b

import math_operations
print(math_operations.__doc__)

6. 标准库模块

Python 拥有丰富的标准库模块,这些模块提供了各种功能,例如文件操作、网络编程、数据处理等。以下是一些常用标准库模块的示例:

6.1 math 模块

提供了数学相关的函数和常量。

import math

result = math.sqrt(16)
print(result)  

print(math.pi)  

6.2 random 模块

用于生成随机数。

import random

random_number = random.randint(1, 10)
print(random_number)  

6.3 os 模块

提供了与操作系统交互的功能,例如文件和目录操作。

import os

# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)  

7. 第三方模块

除了标准库模块,Python 还有大量的第三方模块,这些模块可以通过包管理工具(如 pip)进行安装和使用。例如,numpy 用于科学计算,pandas 用于数据处理和分析。

7.1 安装第三方模块

使用 pip 安装 numpy 模块:

pip install numpy

7.2 使用第三方模块

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)  

以上是一个使用第三方模块的简单例子。

结语
感谢您的阅读!期待您的一键三连!欢迎指正!

在这里插入图片描述

相关文章:

  • Spring Boot项目的基本设计步骤和相关要点介绍
  • 【Grasshopper】【Python】点集排序:带索引的Z字形排序算法
  • MySQL配置文件读取顺序
  • 【故障处理】- 11g数据泵到19c导致的job不自动执行
  • Golang学习笔记_34——组合模式
  • 什么是语料清洗、预训练、指令微调、强化学习、内容安全; 什么是megatron,deepspeed,vllm推理加速框架
  • 【Scrapy】Scrapy教程6——提取数据
  • 30 款 Windows 和 Mac 下的复制粘贴软件对比
  • MySQL数据库基础
  • 分享8款AI生成PPT的工具!含测评
  • 如何最优雅地部署 AWS Lambda?Lambda Version 与 Alias 的最佳实践
  • 玩转文档处理,Docling 让一切变得简单
  • Java常用设计模式及其应用场景
  • PyCharm无法识别conda环境
  • Python 日志记录全解析:从入门到进阶的实用指南
  • 【深度学习】基于MXNet的多层感知机的实现
  • 【深度学习】如何一步步实现SGD随机梯度下降算法
  • 本地DeepSeek模型GGUF文件转换为PyTorch格式
  • ubuntu24 springboot jar设置宕机重启
  • App接入图表:MPAndroidChart,如何创建柱状图、双柱状图以及折线图
  • 长沙潮宗街内“金丝楠木老屋文旅博物馆”起火:明火已扑灭,无伤亡
  • 成就彼此,照亮世界:“中欧建交50周年论坛”在沪成功举行
  • 游戏论|暴君无道,吊民伐罪——《苏丹的游戏》中的政治
  • 融创中国:今年前4个月销售额约112亿元
  • 金融监管局:已设立74支私募股权投资基金,支持投资科技创新企业
  • 2025江西跨境电子商务发展交流会召开,探索行业发展新趋势