2.81【模块与包】

2023-12-15 20:00:16

模块与包

什么是模块

模块就是已经构建好能够实现特定功能的代码的.py文件,在需要实现相应功能的时候可以直接调用该模块的函数或变量

模块化的好处

1.方便维护,代码定位准确

2.内部的变量,相互不影响,方便单个模块功能调试、升级,方便模块间组合、分解

3.方便团队开发,多人协作互不干扰

4.模块可以复用

模块的来源

1.自定义:由自己构建的,常用于实现该项目特定需求的模块

2.内置:标准库模块:Python 提供了一组标准库模块,这些模块是随着 Python 解释器一起安装的,可以直接在代码中使用。例如,mathdatetimeos,random

3.第三方:需要使用pip下载的由他人编写好的模块,例如爬虫中常用的requests

模块的使用

导入模块

使用from…import…导入到当前文件

import math

# 或者仅导入特定函数
from datetime import datetime, timedelta

调用

直接使用,或者用.来使用该模块中的函数

import math

print(math.sqrt(16))  # 使用 math 模块中的 sqrt() 函数计算平方根

模块的重命名

一般为了使模块更加简短、或者避免重名,我们会用as来为模块重命名,使用方法也很简单:

import math as m  # 将 math 模块重命名为 m

print(m.sqrt(16))  # 使用重命名后的名称调用模块中的函数

什么是包

包(Package)是一种用于组织和管理 Python 模块的方式。它是一个包含了多个模块和子包的文件夹。

包的结构

package_name/ # 包的根目录 __init__.py # 包的初始化文件 module1.py # 模块1 module2.py # 模块2 subpackage/ # 子包 __init__.py # 子包的初始化文件 submodule1.py # 子模块1 submodule2.py # 子模块2

其中package_name是包的根目录,根目录下包含了__init__.py文件用于标识这是一个包,并且在其中执行初始化操作

相对路径与绝对路径

  • 相对路径(Relative Path):相对路径是基于当前工作目录或当前文件所在位置的路径表示。它描述了如何从一个位置到达另一个位置的路径,而不涉及完整的文件系统路径。

    相对路径可以使用特殊符号 .(表示当前目录)和 ..(表示上级目录),以及文件或目录名来构建路径。相对路径是相对于某个参考点的路径。

    示例:./subfolder/file.txt 表示当前目录下的子目录 subfolder 中的 file.txt 文件。

  • 绝对路径(Absolute Path):绝对路径是一个完整的路径,从文件系统的根目录开始,描述了从根目录到目标文件或目录的完整路径。

    绝对路径包括文件或目录的顶级目录、各级子目录以及文件或目录名。绝对路径提供了从根目录到目标位置的详细路径信息。

    示例:C:\Users\username\Documents\file.txt 是一个 Windows 系统中的绝对路径。

    import os
    
    # 当前工作目录
    current_dir = os.getcwd()
    print("当前工作目录:", current_dir)
    # 当前工作目录: /home/user/myproject
    
    # 相对路径
    relative_path = "subfolder/file.txt"
    absolute_path = os.path.join(current_dir, relative_path)
    print("相对路径:", relative_path)
    # 相对路径: subfolder/file.txt
    
    print("相对路径解析为绝对路径:", absolute_path)
    # 相对路径解析为绝对路径: /home/user/myproject/subfolder/file.txt
    
    # 绝对路径
    absolute_path = "/Users/username/Documents/file.txt"
    file_name = os.path.basename(absolute_path)
    dir_name = os.path.dirname(absolute_path)
    print("绝对路径:", absolute_path)
    # 绝对路径: /Users/username/Documents/file.txt
    
    print("文件名:", file_name)
    # 文件名: file.txt
    
    print("目录名:", dir_name)
    # 目录名: /Users/username/Documents
    

文章来源:https://blog.csdn.net/AZURE060606/article/details/135019273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。