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

    文章

    2486

    浏览量

    46561
  • 函数
    +关注

    关注

    3

    文章

    3911

    浏览量

    61335
  • 代码
    +关注

    关注

    30

    文章

    4557

    浏览量

    66835
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83483
收藏 人收藏

    评论

    相关推荐

    导入Python库失败的缺失库怎么解决

    在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named xxx或者ModuleNotFoundError: No module
    发表于 11-21 11:46 2694次阅读
    <b class='flag-5'>导入</b><b class='flag-5'>Python</b>库失败的缺失库怎么解决

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

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

    更改5071A操作和编程手册

    更改(p/n 05071-90041)5071A操作和编程手册
    发表于 09-06 06:29

    为什么要重构?如何重组Python?

      目前__init__.py尚不完整。稍后我们将重新访问该文件。  接下来,我们编写一个测试用例,以确保我们仍然可以像导入一样导入。  tests.py中的“””  简单的向
    发表于 09-15 15:28

    什么是python、模块和库?

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

    python花式导的八种方法

    python花式导的八种方法1. 直接 import人尽皆知的方法,直接导入即可>>> import os>>> os.getcwd()'/home/xxx
    发表于 03-10 16:51

    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包模块相对导入from和import介绍1

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

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

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

    TSMaster小功能—Python小程序如何导入外部库

    今天给大家介绍TSMaster功能之Python小程序如何导入外部库。通过在TSMaster默认的解析器路径下导入外部库来介绍,以便我们去使用Python外部库。TSMaster默认
    的头像 发表于 08-14 10:06 677次阅读
    TSMaster小功能—<b class='flag-5'>Python</b>小程序如何<b class='flag-5'>导入</b>外部库

    import模块的导入方法

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

    Python import Hook 实现远程导入模块

    所谓的模块 导入,是指在一个模块中使用另一个模块的代码的操作,它有利于代码的复用。 也许你看到这个标题,会说我怎么会发这么基础的文章? 与此相反。恰恰我觉得这篇文章的内容可以算是 Python
    的头像 发表于 11-02 11:45 351次阅读
    <b class='flag-5'>Python</b> import Hook 实现远程<b class='flag-5'>导入</b>模块

    python如何导入模块

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

    Python怎么导入math模板

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