Python模块与包

【一】模块的介绍

【1】什么是模块

  • 在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。
    • 如果把开发程序比喻成制造一台电脑
    • 编写模块就像是在制造电脑的零部件
    • 准备好零部件后,剩下的工作就是按照逻辑把它们组装到一起。
  • 将程序模块化会使得程序的组织结构清晰,维护起来更加方便。
    • 比起直接开发一个完整的程序,单独开发一个小的模块也会更加简单,并且程序中的模块与电脑中的零部件稍微不同的是:程序中的模块可以被重复使用。
  • 所以总结下来,使用模块既保证了代码的重用性,又增强了程序的结构性和可维护性。
  • 另外除了自定义模块外,我们还可以导入使用内置或第三方模块提供的现成功能,这种“拿来主义”极大地提高了程序员的开发效率。

【2】模块的优点

  • 极大地提高了程序员的开发效率。

【3】模块的来源

  • 内置的:python解释器自带的,直接拿来使用的
  • 第三方的:别人写的,如果想用,就要先下载在使用
  • 自定义的:我们自己写的

【4】模块的存在形式

  • 我们自己写的py文件(一个py文件就是一个模块)
  • 包:一系列py文件的集合(文件夹)

一个包里面会有一个__init__.py文件

【二】模块的使用

【0】准备

  • 新建一个文件foo.py
x = 1 def get(): print(x) def chage(): global x x = 0 class Foo: def func(self):

【1】直接导入

  • import语句
import py文件名/模块名

【2】详细导入

  • from ...import ...语句
from 模块位置 import 模块名
  • 另外from语句支持 from xx import *语法, * 代表将foo中所有的名字都导入到当前位置
from xx import *

【3】模块重命名

  • from... import...as...语句
from 模块位置 import 模块名 as 自定义名字

【三】搜索模块的路径与优先级

【1】模块的分类

  • 模块其实分为四个通用类别,分别是:
    • 1、使用纯Python代码编写的py文件
    • 2、包含一系列模块的包
    • 3、使用C编写并链接到Python解释器中的内置模块
    • 4、使用C或C++编译的扩展模块
  • 在导入一个模块时
    • 如果该模块已加载到内存中,则直接引用
    • 否则会优先查找内置模块
      • 然后按照从左到右的顺序依次检索 sys.path 中定义的路径
    • 直到找模块对应的文件为止
      • 否则抛出异常。

【四】包

【1】什么是包

  • 包是一个模块的集合,它可以将多个模块的功能组合到一起。
  • 包可以按照其功能和作用进行分类,方便用户查找和使用。
  • 包是在Python标准库中定义的一种特殊类型的模块,可以通过import语句来引入和使用。
  • Python的包分为标准库包和第三方库包。
    • 标准库包是Python内置的包,包含了一些基本的模块和函数,如os、sys、random等;
    • 第三方库包是第三方开发的包,通常提供了更加丰富和高级的功能。

【2】包结构

  • 包是Python程序中用于组织模块的一种方式。包是一个包含模块的目录,同时还可以包含其他子包。
  • 要创建一个包,我们只需要在目录中创建一个名为__init__.py的文件即可。
|-pakageName |-__init__.py |-moduleName1.py |-moduleName2.py |-...
  • 包路径下必须存在 __init__.py 文件。

【3】创建包

  • 我们创建一个 cal 的包,包中有一个计算器的 model ,结构如下:

image-20231216183924651

【4】直接使用包

  • 语法
import 包名.包名.模块名
  • 演示

image-20231217103003136

【五】绝对路径和相对路径

  • 在Python中,路径分为相对路径和绝对路径。

【1】相对路径

  • 相对路径是相对于当前工作目录或当前脚本文件所在目录的路径。
  • 使用相对路径时,你指定的路径是相对于执行脚本的当前工作目录的。
# 例如,假设当前工作目录是 '/Users/username/projects',你可以使用相对路径如下: relative_path = 'data/file.txt'

【2】绝对路径

  • 绝对路径是文件或目录在文件系统中的完整路径,不依赖于当前工作目录。

  • 使用绝对路径时,你指定的路径是从文件系统的根目录开始的。

# 例如,绝对路径可能是: absolute_path = '/Users/username/projects/data/file.txt'

__EOF__

本文作者Fredette
本文链接https://www.cnblogs.com/Fredette/p/17909714.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Fredette  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示