首页 > 其他 > 详细

包的使用

时间:2020-02-11 10:22:37      阅读:58      评论:0      收藏:0      [点我收藏+]

包的使用

一、定义

  • 包是集合了一组py文件,提供了一组复杂的功能
  • 当提供一组复杂的功能,一个py文件放不下的时候需要用到包
  • 每一个pack包中必须包含一个__init__.py文件,这是包和目录的区别
  • 导入包相当于执行了包下边的__init__.py文件

二、从包中导入模块的方式

  • 方式一:直接导入
    • import pack1.pack2.pack3.模块名
      pack1.pack2.pack3.模块名.变量/函数名
    • import pack1.pack2.pack3.模块名 as 别名
      别名.变量/函数名
    • from pack1.pack2.pack3 import 模块名
      模块.变量/函数名

      这种方式更加常用

  • 方式二:复杂的导入
    • 首先必须每一级的包的__init__.py文件中都加上pack的导入路径
    • 再按照方式一的方式来导入文件

      init.py文件中pack导入包的路径:
      • 使用绝对路径导入:from pack1 import pack2-->from pack1.pack2 import pack3,
        每一级的导入都必须是绝对路径,这种方式在包的位置不改变的情况下是适用的,但是如果包的位置发生改变就会报错。
      • 使用相对路径导入:在每一级的__init__.py文件中写入from . import 下一级的pack/模块名,这样可以有效的避免绝对路径的问题。
        需要特别注意的是:使用了相对路径导入的文件只能被当做模块来使用,不能被当作脚本文件来执行,如果到做脚本文件来执行程序会报错
    • 复杂的导入适用于整个包文件的开发,这个包给其他开发者使用的情况,日常的练习中直接导入方式就可以满足需求。

三、查看包/模块/文件的路径

  • 在代码中查看路径需要用到sys模块
  • import sys, print(sys.path)查看当前的所有绝对路径

四、总结

如果是直接导入一个包,相当于直接执行了包下边的__init__.py文件,并不会把包下边的其他包和py文件导入到内存中;
如果希望直接导入包后下边的包和其他的py文件都能直接通过包来导入,那么需要在__init__.py文件中去自定义处理。

包的使用

原文:https://www.cnblogs.com/ddzc/p/12293814.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!