详解Python中import机制

当我们在 Python 中引入某个模块时,使用 import 语句。这些模块可以是 Python 内置模块、第三方库或者自己编写的模块。Python 中的 import 机制是其一个重要的特性之一,本文将详细讲解这个机制。

import 语句的语法格式

Python 中的 import 语句有两种语法格式,分别为 import module_namefrom module_name import variable_name。其中,module_name 表示要引入的模块名,可以是 Python 内置模块、第三方库或者自己编写的模块;variable_name 表示要引入模块中的变量名。

import module_name 语法格式

import module_name 语法格式用于引入整个模块,即将整个模块加载到内存中,以便调用其中的函数或变量。可以通过以下代码讲述 import 语句的使用方法:

import math # 引入内置数学模块

a = math.sqrt(16) # 调用数学模块中的平方根函数
print(a)

在上述代码中,我们首先使用 import 语句引入 Python 内置的 math 模块,然后调用了其中的 sqrt() 函数,计算出 16 的平方根并打印在屏幕上。

from module_name import variable_name 语法格式

from module_name import variable_name 语法格式用于只引入模块中的某个变量或函数,而不是整个模块。可以通过以下代码展示 from import 语句的使用方法:

from os.path import abspath # 从内置 os 模块中选择 abspath 函数

print(abspath('first.py'))

在上述代码中,我们使用 from import 语句引入内置 os 模块中的 abspath 函数,并在打印当前目录下 first.py 文件的绝对路径时使用了该函数。

import 机制的加载过程

Python 在引入模块时,会按照以下的顺序查找模块并将其加载到内存中:

  1. 首先,Python 会在内置库中查找模块。如果要引入的模块是 Python 内置模块,则从内部库中找到相关的模块并加载。
  2. 如果不是 Python 内置的模块,Python 会接着在环境变量 sys.path 中指定的目录中查找模块。sys.path 是一个列表,包含了 Python 解释器搜索模块文件的路径列表。
  3. 如果以上两种方式均无法找到要引入的模块,则会引发 ImportError 异常。

同一模块的多次引入

在同一模块中,多次引入是没有问题的。当同一模块被引入多次时,Python 只会加载一次该模块。

举一个简单的例子:

import first # 将 first 模块加载到内存中
import first # 不会重复加载 first 模块

在上述代码中,我们多次引入了 first 模块,但是 Python 只会加载一次该模块。

总结

Python 的 import 机制是其一个重要的特性,可以让我们将代码组织成更加可维护、易复用的模块。在引入模块时,Python 会按照一定的顺序进行查找和加载。在同一模块被引入多次时,Python 只会加载一次该模块,不会重复消耗内存资源。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python中import机制 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python 条件判断的缩写方法

    当我们需要根据某个条件来执行代码的时候,通常是使用if语句来实现。但在Python中,我们也可以使用条件判断的缩写方法来达到同样的效果。这个技巧又叫做条件表达式或三元运算符。在本文中,我将详细介绍Python条件判断的缩写方法,包括语法、应用场景及示例。 语法 Python条件判断的缩写方法是通过一个三元运算符来实现的,具体的语法如下: value_if_t…

    python 2023年6月5日
    00
  • 聊聊python中的load、loads实现反序列化的问题

    反序列化是将序列化的数据结构重新转化为可被程序读取的数据结构的过程,而在 Python 中,常用的反序列化方法是 load 和 loads。在本篇文章中,我们将讲解这两个方法的使用方法以及它们的区别。 什么是反序列化 反序列化是将序列化的数据结构重新转化为可被程序读取的数据结构的过程。在 Python 中,我们可以使用 pickle 模块对 Python 对…

    python 2023年6月3日
    00
  • Python自动化办公之创建PPT文件

    一、创建PPT文件的工具 Python中的PPTX模块可以帮助我们创建和修改PPT文件。该模块已经成为Python中的常用工具之一。安装方法如下: pip install python-pptx 二、创建PPT文件流程 1.导入PPTX模块 from pptx import Presentation 2.创建PPT对象 prs = Presentation(…

    python 2023年6月5日
    00
  • python mysql断开重连的实现方法

    实现python对MySQL数据库的断开重连需要安装pymysql模块。pymysql是python中一个第三方的MySQL数据库驱动库,可以通过pip进行安装。 在实现python与MySQL数据库的断开重连时,可以通过以下方式: 1.设置自动重连方式 可以通过pymysql中的“connect”函数参数实现自动重连,具体实现方式为: import pym…

    python 2023年5月13日
    00
  • Python3 assert断言实现原理解析

    Python3 assert断言实现原理解析 何为断言 Python3中有一个关键字assert,用来进行断言判断。所谓断言,是指在运行时检查某个条件是否满足。如果满足则程序正常执行,否则抛出异常。 常见的断言格式为: assert boolean_expression 其中boolean_expression是一个返回布尔值的表达式,如果表达式为假,则会抛…

    python 2023年5月13日
    00
  • python字符串格式化(%格式符和format方式)

    下面就为大家讲解Python字符串格式化的完整攻略。 什么是Python字符串格式化? 字符串格式化是指将数据与给定的字符串模板进行匹配,生成新的字符串的过程。Python支持两种字符串格式化方式:%格式符和format()函数。 %格式符 %格式符是最早出现的字符串格式化方式,指定一个字符串模板,然后用%符号和一个元组或字典进行匹配。语法格式如下: str…

    python 2023年6月5日
    00
  • Python编程中如何捕获警告ps不是捕获异常

    在Python编程中,可以通过warnings模块来捕获警告信息。与异常不同,警告通常是一些我们不希望出现但也不会导致代码完全失败的问题,例如使用不推荐的语法或过时的功能等。 下面是捕获警告的具体步骤: 导入warnings模块。 import warnings 使用warnings模块中的函数filterwarnings()设置警告过滤器,指定警告类型和处…

    python 2023年5月13日
    00
  • Python读取Excel数据并生成图表过程解析

    Python读取Excel数据并生成图表过程解析 在本文中,我们将详细讲解如何使用Python读取Excel数据并生成图表。具体来说,我们将使用Python中的pandas和matplotlib库来实现该过程。 步骤1:导入所需的库 首先,我们需要导入所需的库。 import pandas as pd import matplotlib.pyplot as …

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部