Python中import主要作用和使用场景

 更新时间:2025年05月07日 09:25:11   作者:aobulaien001  
本文主要介绍了Python中import主要作用和使用场景,通过import,可以导入模块和模块中定义的内容,扩展Python的功能,具有一定的参考价值,感兴趣的可以了解一下

一、前言

写过 Python 的猿猿肯定对 import 不陌生。但 Python 在 import module 时会执行相关的代码,你知道吗? Python import 还有其他的什么特性呢?通过这一篇文章,彻底掌握 Python import

二、Python import 详解

2.1 Python import 介绍

在Python中,import是用于导入模块和模块中定义的变量、函数、类等内容的关键字import的作用是扩展Python的功能,并允许在代码中使用其他模块提供的功能。

2.2 Python import 例子

下面是import的主要作用和使用场景,并给出相应的例子:

  • 导入模块:使用import可以导入一个完整的模块,以便在代码中使用该模块中定义的功能。例如:
import math

print(math.pi)  # 使用math模块中的常数pi
  • 导入模块中的特定内容:使用from module import name语法可以导入模块中的特定函数、变量或类,以便直接在代码中使用,而不需要使用模块名称作为前缀。例如:
from math import sqrt

print(sqrt(16))  # 直接使用sqrt函数,无需使用math.sqrt
  • 给导入的模块或内容起别名:使用import module as aliasfrom module import name as alias语法可以为导入的模块或内容指定一个别名,以便在代码中使用更短的名称。例如:
import numpy as np

print(np.array([1, 2, 3]))  # 使用别名np代替numpy
  • 导入模块中的所有内容:使用from module import *语法可以导入模块中的所有内容,使其在代码中直接可用。但这种做法通常不被推荐,因为它会导致命名冲突和可读性问题。例如:
from math import *

print(sin(pi/2))  # 直接使用导入的sin和pi,但不推荐这种写法

这些是import的主要作用和使用场景。通过导入其他模块,可以扩展Python的功能,并重用已有的代码。使用合适的导入方式和别名,可以使代码更加简洁和可读。

2.3 Python import 进一步解释

2.3.1 Python import module

在Python中,当一个模块被导入时,模块中的代码会被执行。然而,模块中的代码只会在第一次导入时执行一次。之后,如果再次导入同一个模块,Python解释器会直接使用已经加载的模块,而不会再次执行模块中的代码。

这种行为是为了确保**模块中的代码只会被执行一次****,以避免重复执行相同的操作。通过导入模块,我们可以在需要时使用其中定义的函数、类和变量,而不必重新执行模块中的代码。

值得注意的是,如果在模块中存在全局级别的可执行语句(例如函数定义以外的代码),则在导入时会执行这些语句。因此,模块的导入可能会触发一些副作用操作,例如打印输出或初始化全局变量。

比如:创建test1.py

print("我是 test1,我被执行了")

def say_hello():
    print("hello world test1")

再创建 test2.py

def say_hello():
    from test import test1
    test1.say_hello()

if __name__ == '__main__':
    for i  in range(10):
        say_hello()

执行 test2.py 输出

我是 test1,我被执行了
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1

2.3.2 Python import package

在Python中,当导入一个包(package)时,包本身不会被执行。只有在使用该包中的模块或对象时,才会执行相应的代码。

当导入一个包时,Python解释器会查找并执行该包下的__init__.py文件__init__.py文件可以包含一些初始化代码,用于设置包的环境、导入子模块或执行其他需要在导入时执行的操作。但这些代码只会在首次导入包时执行一次。

例如,假设我们有一个名为my_package的包,它的结构如下:

my_package/
    __init__.py
    module1.py
    module2.py

__init__.py文件中,我们可以放置一些初始化代码:

print("Executing initialization code in my_package")

# 导入子模块
from . import module1
from . import module2

然后,我们可以在另一个脚本中导入my_package包:

import my_package

print("Import completed")

运行上述脚本,输出如下:

Executing initialization code in my_package
Import completed

从输出结果可以看出,在导入my_package包时,__init__.py中的初始化代码被执行了一次。然后,Import completed被打印出来,表示导入完成。

但注意,这里的执行是指__init__.py中的代码被执行,并不是包中的所有模块都被导入和执行。只有在使用my_package中的具体模块或对象时,才会执行相应的代码。

总结起来,当导入一个Python包时,包本身的代码不会被执行,只有在使用包内的模块或对象时才会执行相应的代码。 __init__.py文件中的初始化代码会在首次导入包时执行一次,可用于设置包的环境和导入子模块。

三、总结

介绍了 Python 中 import 关键字的使用方法和工作原理。通过 import ,可以导入模块和模块中定义的内容,扩展 Python 的功能。文章提供了导入模块、导入模块中的特定内容、给导入的模块或内容起别名以及导入模块中的所有内容的例子,展示了 import 的多种用法。

此外,文章解释了模块的代码只会在第一次导入时执行一次的特性,以及导入包时执行__init__.py文件的初始化代码。最后,总结了导入包时只有在使用包内的模块或对象时才执行相应代码,而__init__.py文件中的初始化代码只会在首次导入包时执行一次。

到此这篇关于Python中import主要作用和使用场景的文章就介绍到这了,更多相关Python import内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python常见模块及其用法示例详解

    Python常见模块及其用法示例详解

    模块导入是Python开发中的一个重要环节,但如果不小心,可能会遇到各种错误,这篇文章主要给大家介绍了关于Python常见模块及其用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-07-07
  • python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

    python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

    入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存到本地Csv文件,对该公司进行财务分析,如提取近五年,营业收入,净利润数据,并且算出同比增长,通过Pandas处理、Matplotlib可视化及Streamlit部署,实现财务数据分析
    2025-08-08
  • python格式化输出保留2位小数的实现方法

    python格式化输出保留2位小数的实现方法

    这篇文章主要介绍了python格式化输出保留2位小数的实现方法,需要的朋友可以参考下
    2019-07-07
  • Python实现合并两个字典的8种方法

    Python实现合并两个字典的8种方法

    Python有多种方法可以通过使用各种函数和构造函数来合并字典,本文主要介绍了Python实现合并两个字典的8种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • python实现给微信指定好友定时发送消息

    python实现给微信指定好友定时发送消息

    这篇文章主要为大家详细介绍了python实现给微信指定好友定时发消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Numpy数组转置的实现

    Numpy数组转置的实现

    本文主要介绍了Numpy数组转置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • pandas中的.assign()方法的用法示例小结

    pandas中的.assign()方法的用法示例小结

    pandas中的.assign()方法用于创建一个新的DataFrame,其中包含现有DataFrame的副本,并附加了指定的新列或更新了现有列,.assign()方法还可以链式使用,以添加多个新列或更新现有列,对pandas中的.assign()方法感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • python中定义结构体的方法

    python中定义结构体的方法

    Python中没有专门定义结构体的方法,但可以使用class标记定义类来代替结构体,其成员可以在构造函数__init__中定义,具体方法如下,特分享下,方便需要的朋友
    2013-03-03
  • python使用numpy读取、保存txt数据的实例

    python使用numpy读取、保存txt数据的实例

    今天小编就为大家分享一篇python使用numpy读取、保存txt数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python制作可视化报表的示例详解

    Python制作可视化报表的示例详解

    在数据展示中使用图表来分享自己的见解,是个非常常见的方法。这也是Tableau、Power BI这类商业智能仪表盘持续流行的原因之一。本文主主要介绍了一个用Python制作可视化报表的案例,感兴趣的可以学习一下
    2022-02-02

最新评论