17 包和导入

Posted on 2019-01-21 18:18  九块九  阅读(86)  评论(0)    收藏  举报

包 本质就是一个文件夹

为什么使用包:

  是结构更加的清晰

__init__.py文件的作用

  包也是一个模块

    在导入一个模块时发生三件事都一样

    第二步需要执行被导入文件的代码,但是包只是一个文件夹不能被直接执行

    所以需要提供一个py文件用来代表这个包成为一个模块

init的好处:

  可以将包内模块的功能直接导入到__init__中,这样一来对于包的使用者而言,可以无需考虑要使用的功能在

  具体的哪一个文件中,直接调用功能即可

相对导入和绝对导入

  相对:

    指的是相对于某个模块而言的导入路径

    from . import 名称

    . 表示的是当前这一级目录

  注意:执行文件中不能使用相对导入

    1.使用相对导入时不能使用.返回到执行文件所在的层

    2.相对导入仅用于同一个包内的模块间相互导入

  绝对导入:

    值得是从执行文件开始的绝对路径,,,,注意.....不是文件的绝对路径

导入时需要注意:

  1.import导入时,点的后面必须是一个模块或者包名

  2.from 导入时.import 后面不能出现点

循环导入:

  开发时模块可能有很对,既有可能出现循环导入