【 Python 全栈开发 - 语法基础篇 - 19 】模块和包

文章目录


在 Python 中,模块指的是一个包含 Python 代码的文件,它可以被其他 Python 程序导入和使用。模块通常包括一些函数、类和变量,可以用于执行特定的任务或实现特定的功能。

而包指的是一个包含多个模块的文件夹,其中还可以包含子文件夹和其他资源文件。包可以用来组织复杂的程序结构,使得程序更易于维护和扩展。在包中,还可以添加一个名为__init__.py的文件,该文件可以包含一些初始化代码,例如设置环境变量、导入模块等。


一、模块

学习模块需要掌握以下内容:

  1. 导入模块:了解如何从其他 Python 文件中导入模块,使用 import 语句将其引入到程序中。

  2. 导入特定变量和函数:了解如何从模块中导入特定的变量和函数,以及如何使用别名来引用这些变量和函数。

  3. 模块搜索路径:了解 Python 查找模块的搜索路径,包括当前目录、PYTHONPATH 环境变量、标准库以及第三方库等。

  4. 标准库模块:熟悉 Python 标准库中常用的模块,例如ossysremathdatetime等,能够使用这些模块执行常见的任务。

  5. 第三方库模块:了解如何使用第三方库来扩展 Python 功能,例如numpypandasmatplotlib等。

  6. 创建和使用自定义模块:了解如何创建自定义的 Python 模块,以及如何在其他 Python 程序中使用这些模块。

掌握了这些内容,就可以更好地理解和使用 Python 中的模块了。


  1. 导入模块:

在 Python 中,可以通过import语句导入其他模块,从而在当前程序中使用该模块中的函数、变量等。例如,将math模块导入到程序中,就可以使用它提供的数学函数:

import math

print(math.sqrt(2))  # 输出1.4142135623730951
  1. 导入特定变量和函数:

有时候我们只需要导入模块中的某些变量或函数,可以使用from...import语句来实现。例如,从math模块中导入pisin函数:

from math import pi, sin

print(pi)  # 输出3.141592653589793
print(sin(pi/2))  # 输出1.0
  1. 模块搜索路径:

当使用import语句导入模块时,Python 会按照一定的顺序来搜索模块,这个搜索路径包括当前目录、Python 标准库、PYTHONPATH 环境变量指定的路径以及其他第三方库的路径。下面的代码可以输出 Python 的模块搜索路径:

import sys

print(sys.path)
  1. 标准库模块:

Python 自带了大量的标准库模块,可以方便地执行各种任务,例如os模块提供了操作文件和目录的函数,sys模块提供了与 Python 解释器交互的函数,re模块提供了正则表达式操作函数等。例如,使用os模块来获取当前工作目录:

import os

print(os.getcwd())  # 输出当前工作目录
  1. 第三方库模块:

Python 的第三方库提供了丰富的模块,可以扩展 Python 的功能。例如,使用numpy库来进行数组操作:

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

c = a + b
print(c)  # 输出[5 7 9]
  1. 创建和使用自定义模块:

可以创建自定义的 Python 模块,例如在同一目录下创建一个名为test_module.py的文件,其中包含以下代码:

def hello():
    print('Hello, world!')

然后在另一个 Python 程序中导入这个模块并使用其中的函数:

import test_module

test_module.hello()  # 输出Hello, world!

二、包

Python 包是将多个模块组织在一起的一种方式。包可以使用一个目录来存储多个模块,并且需要在目录中创建一个名为__init__.py的文件来标识这是一个包。

Python 包的主要作用是在逻辑上组织 Python 模块以及子包。通过包可以将相关的模块和子包组织在一起,方便开发人员进行管理、维护和共享。包可以避免不同模块之间的命名冲突,同时也可以提供更加清晰的代码组织结构。

在使用 Python 包时,可以通过import语句将需要使用的模块导入到程序中。同时,也可以通过相对导入来访问同一包中的其他模块,或者来访问其他包中的模块。使用相对导入可以使得代码更加灵活,也可以避免模块搜索路径中的冲突问题。

一般来说,当需要编写大型的 Python 项目时,使用包可以大大简化模块的管理和维护。同时,包也可以帮助我们更好地组织和管理代码,提高代码的可读性和可维护性。因此,在需要组织多个相关模块时,建议使用 Python 包来进行组织和管理。


学习 Python 包的知识,需要包含以下内容:

  1. 什么是包?

Python 中的包是指将多个模块组织在一起的一种方式,可以将这些模块放在同一目录下,并在该目录下创建一个·init.py·文件来表示这是一个包。包可以方便地组织和管理模块,也可以避免模块名冲突。

  1. 包的引用

使用包中的模块时,需要使用import语句,例如:

import package.module

如果需要使用模块中的函数或变量,可以使用以下方式:

package.module.function()
package.module.variable

也可以使用from...import语句将模块中的函数或变量导入到当前命名空间中,例如:

from package.module import function, variable
  1. __init__.py文件

在包的目录下创建__init__.py文件时,可以在其中执行一些初始化操作,例如导入模块、设置变量等。__init__.py文件的内容可以为空,也可以包含任意 Python 代码。

  1. 包的层次结构

在 Python 中,包可以嵌套使用,形成层次结构。例如,可以创建一个名为mypackage的包,在mypackage中再创建一个名为subpackage的子包。在使用子包中的模块时,需要使用完整的包名,例如:

import mypackage.subpackage.module
mypackage.subpackage.module.function()
  1. 其他注意事项

在使用包时,需要注意以下几点:

  • 包名应该使用小写字母。
  • 模块名应该使用小写字母和下划线。
  • 包和模块的命名应该具有描述性,方便其他人理解和使用。
  • 如果一个包中的模块非常多,可以将它们分为多个子包,方便管理和维护。
  • Python会自动在一些默认目录中搜索包和模块,如果无法找到,可以将包所在目录添加到sys.path变量中。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值