0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python导入包操作和本质

麦辣鸡腿堡 来源:Python都知道 作者:Python都知道 2023-09-12 17:41 次阅读

导入包操作和本质

常见方式如下:

  • import a.aa.module_AA : 按模块路径导入在使用时,必须加完整名称来引用. 比如:a.aa.module_AA.fun_AA()
  • from a.aa import module_AA: 按包路径导入模块在使用时,直接可以使用模块名. 比如:module_AA.fun_AA()
  • from a.aa.module_AA import fun_AA照模块路径导入指定类or方法在使用时,直接可以使用函数名。比如:fun_AA()

注意事项:

  • from package import item 这种语法中, item 可以是包、模块,也可以是函数、类、变量(对照方式23)
  • import item1.item2 这种语法中, item 必须是包或模块,不能是其他(对照方式1)

实操代码

# 方式一: 按模块路径导入
import com.time.pause.capture2.module.a.aa.module_AA

print(com.time.pause.capture2.module.a.aa.module_AA.add(10, 20))

# 方式二: 按包路径导入模块
from com.time.pause.capture2.module.a.aa import module_AA

print(module_AA.add(10, 20))

# 方式三: 按照模块路径导入指定类or方法
from com.time.pause.capture2.module.a.aa.module_AA import add
add(10, 20)

import com.time.pause.capture2.module.a

导入包的本质

其实是“导入了包的 __init__.py ”文件. 也就是说 import pack1 意味着执行了包 pack1 下面的 __init__.py 文件. 这样可以在 __init__.py 中批量导入我们需要的模块,而不再需要一个个导入.

实操代码: 测试包的 __init__.py 文件本质用法a 包下的 __init__.py 文件添加如下内容:

import turtle
import math

print("导入a包")

b 包下的 module_B1.py 文件中导入 a 包,添加代码如下:

import com.time.pause.capture2.module.a

print(com.time.pause.capture2.module.a.math.pi)
# 如上测试我们可以看出python的设计者非常巧妙的通过__init__.py 文件将包转成了模块的操作

用 * 导入包

import * 这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们. 尽管提供 import * 的方法,仍不建议在生产代码中使用这种写法 Python 解决方案是提供一个明确的包索引. 这个索引由 init .py 定义 all 变量,该变量为一个列表, 如上例 a包下的 __init__.py 中,可定义 __all__ = ["module_A","module_A2"]

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2705

    浏览量

    47464
  • 函数
    +关注

    关注

    3

    文章

    4331

    浏览量

    62593
  • 代码
    +关注

    关注

    30

    文章

    4787

    浏览量

    68589
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84667
收藏 人收藏

    评论

    相关推荐

    基于Python构建的专门进行数据操作和分析的开源软件库

    Pandas 是一个基于 Python 构建的专门进行数据操作和分析的开源软件库,可提供数据结构和运算,进行功能现强大、灵活且易于使用的数据分析和操作。Pandas 为热门编程语言赋予了处理类似
    发表于 07-22 09:57 1144次阅读

    什么是python、模块和库?

    名为 demo.py 的文件,文件内容如下name="Python编程时光"print("导入成功")直接使用 import 语句就可以导入导入之后,就可以
    发表于 03-09 16:48

    python常规与命名空间

    python常规与命名空间1. 常规包在 Python 3.3 之前或者说 Python 2 中,一个
    发表于 03-11 15:46

    python 导入的三个冷门知识点

    中使用 __all__ 来控制想要被其他模块导入的变量。# profile.pyname='小明'age=18__all__=['name']打开 python console 验证一下>>
    发表于 03-14 16:33

    详解python常规与命名空间

    python常规与命名空间 1. 常规Python 3.3 之前或者说 Python
    的头像 发表于 03-11 15:46 3426次阅读

    NETWORKX Python编程语言软件概述及用途

    NetworkX 是一个 Python 编程语言软件,可用于创建、操作和学习复杂图形网络的结构、动态和功能。
    的头像 发表于 07-01 11:30 1370次阅读

    Python脚本集成到GUI工具

    本篇将此脚本进行优化,将集成到 Python 的 GUI 工具(Tkinter),并且可以将结果数据导入到 Excel 和 TXT 文件里。
    的头像 发表于 02-15 16:40 1133次阅读

    python模块相对导入from和import介绍1

    文件**init**.py下,python通过import module导入模块时,先搜索程序运行主目录。 程序运行主目录为运行的py文件所在目录,而不是执行python.e
    的头像 发表于 02-21 14:15 1036次阅读

    简述python模块import和from及all

    python指定导入目录路径,称为导入。 通过import和from导入模块。
    的头像 发表于 02-21 14:20 1249次阅读

    python字符串序列操作和不可变性

    初识python字符串序列操作和不可变性。python字符串序列操作为序列通用操作python
    的头像 发表于 02-23 15:01 864次阅读

    import模块的导入方法

    : 一般通过 import 语句实现模块的导入和使用, import 本质上是使用了内置函数 __import__() 当我们 通过 import 导入一个模块时,python解释器进
    的头像 发表于 09-11 17:31 1222次阅读

    如何在Python中使用Scapy进行抓操作

    文章将介绍如何使用 Python 来进行简单的抓操作。 2. Python 中的抓库 在 Pytho
    的头像 发表于 11-01 14:47 4392次阅读

    python如何导入模块

    Python是一种强大的编程语言,它支持模块化编程,使得开发者可以将代码分解为可重用且独立的模块。模块是一个包含函数、类和变量等定义的文件,我们可以使用import语句将这些模块导入到我们的程序中
    的头像 发表于 11-22 14:46 957次阅读

    Python怎么导入math模板

    Python中使用math模块需要先导入该模块。math模块提供了许多数学函数和数值常量,可以在数学计算和统计分析等方面派上用场。下面将详细介绍如何导入math模块以及如何使用它的各种功能。 要使
    的头像 发表于 11-22 14:49 2401次阅读

    如何用import导入一个

    Python中,import语句用于导入代码所需的模块或。模块是Python代码的集合,而是包含模块和其他
    的头像 发表于 11-22 14:59 1156次阅读