Python——模块化编程

在python中,包和模块是代码组织和管理的重要概念。它们将代码分割成易于维护和复用的结构。

一、模块

        1、基本概念

                定义:模块是一个Python文件,每一个  .py 文件就是一个模块

                作用:用于组织代码,避免代码重复,提高复用性

                使用:通过 import 语句导入模块中的内容

        2、模块的导入

导入一个模块到当前程序:

import 模块名  [as 模块新名字1]

导入一个模块内部的部分属性到当前程序:

from 模块名 import 模块属性名 [as 属性新名]

导入一个模块内部的全部属性到当前程序:

from 模块名 import *

(可以通过使用 as 自己给导入的模块取个名字,有的模块名字复杂太长,取个简单的名字能让代码更易理解,更简洁)

        3、内部属性

__file__  绑定模块的路径
__name__  绑定模块的名称
       如果是主模块(首先启动的模块)则绑定 '__main__'
       如果不是主模块则 绑定 xxx.py 中的 xxx 这个模块名

二、系统模块

        Python内置的模块,安装Python时已包含,提供基础功能,比如数学运算、文件操作、网络通信等

        特点:

                即用即导入:直接import即可使用

                性能高效:通常使用 C 语言实现

        常见的系统模块:

模块功能官方文档
math数学运算math --- 数学函数 — Python 3.12.10 文档
os操作系统接口os --- 多种操作系统接口 — Python 3.13.5 文档
os.path路径相关os.path --- 常用的路径操作 — Python 3.13.5 文档
datetime日期和时间datetime --- 基本日期和时间类型 — Python 3.13.5 文档
random随机数生成random --- 生成伪随机数 — Python 3.13.5 文档
time时间time --- 时间的访问和转换 — Python 3.13.5 文档

 三、第三方模块

        由社区或公司开发,通过包管理工具(如`pip` )安装,用于实现更高级或更具体的功能,如数据科学、图像处理、网络爬虫等

 常见模块:

模块功能示例
numpy数值计算科学运算、矩阵操作
pandas数据分析数据清洗与处理
matplotlib数据可视化绘制图表
requestsHTTP请求处理爬取网页内容,调用API
flaskWeb应用框架快速搭建Web服务
pip install 模块名

 (安装时可以通过 "模块名==版本号" 的方式来指定想安装的版本号)

安装步骤:

        1、进入终端:(win + r 输入cmd、或者打开文件管理在地址处输入cmd、又或者直接在电脑上搜索终端 、命令提示符,用自己喜欢的方式即可)

        2、进入想安装模块的环境输入安装命令(这里以numpy模块为例)

(不指定版本默认最新版)

        3、通过 import 即可导入使用了

四、自定义模块

        用户自己编写的模块,用于复用代码

        文件名以 .py 结尾,存放自定义的函数、类等

        1、创建模块

        创建一个 util.py 文件:

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

def greet(name):
    return f"Hello, {name}!"

        创建一个 main.py 文件,并导入自定义模块 util.py :

# main.py
import utils

print(utils.add(3, 5))  # 输出: 8
print(utils.greet("Alice"))  # 输出: Hello, Alice!

五、包

        1、基本概念

                包是包含多个模块的目录

                包的本质是一个包含 __init__.py 文件的文件夹

                文件 __init__.py 可为空,也可以包含初始化代码

                作用:用于组织模块的集合,形成层次化的结构,便于管理大型项目

        2、导入包和子包

    # 同模块的导入规则
    import 包名 [as 包别名]
    import  包名.模块名 [as 模块新名]
    import  包名.子包名.模块名 [as 模块新名]
    
    from 包名 import 模块名 [as 模块新名]
    from 包名.子包名 import 模块名 [as 模块新名]
    from 包名.子包名.模块名 import 属性名 [as 属性新名]
    
    # 导入包内的所有子包和模块
    from 包名 import *
    from 包名.模块名 import *

        3、__init__.py

                __init__.py$ 用于初始化Python包或模块

                作用:

                        1. 标识包目录: 告诉Python解释器当前目录应被视为一个包。

                        2. 执行初始化代码: 可以包含任何代码,通常用于包的初始化操作,如变量初始                                化、导入模块等。这些代码在包被导入时执行。

                        3. 控制包的导入行为: 通过 __all__ 变量明确指定从包中可以导入哪些模块,从                                而限制包的公开接口。

                        4. 提供包级别的命名空间: __init__.py 中定义的变量和函数可以在包的模块中共                              享。

                        5. 批量导入模块: 可以在 __init__.py 文件中批量导入模块,这些模块可以更方                                便地使用。

六、模块与包的区别

模块
一个Python文件一个包含__init__.py的文件夹
提供基本功能单元用于组织多个模块
文件名为.py目录名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值