包的使用

包的使用

1.什么是包

一个含有__init__.py文件的文件夹,包的本质就是一种模块,模块就是只用被导入的,所以包内的文件都是用来被导入的

2.为何要使用包

随着模块文件的增加,我们需要用文件夹将模块组织起来,提高程序的结构性和可维护性。

3.包的应用

  模块名约定用全小写

  包内的模块没有右键运行的需求

part1:

  import aaa

  导入aaa其实是导入包aaa下的__init__.py文件

  1.产生一个包的名称空间

  2.执行包下的__init__.py(初始化导入)文件,将产生的名字存放于包的名称空间中

  3.在当前执行文件中拿到一个名字aaa,该名字指向包的名称空间

  print(aaa.m1) #aaa.m1 就是问aaa下的.__init__.py要一个名字m1

part2:

  强调:
  1.在导入时带点的,点的左边必须是一个包,这是导入包特有的语法
  2.包内,模块直接的导入应该使用from。。。import 。。。
  3.from 。。。 import。。。,import后必须是一个明确的名字,没有任何的前缀
  例如: from a.b.c.d.f import g.h.x #错误
  1.f左边必须都是包
  2.import后的名字不能有任何前缀

part3:
   绝对导入与相对导入
   绝对导入:以顶级包作为起始 
   相对导入(推荐使用):不需考虑执行文件,.表示当前文件的路径,..表示所在文件上一级目  录。用.或者..的方式最为起始(只能在一个包中使用,不能用于不同目录内)
     强调:
     1. 相对导入只能包内部的模块之间互相导入使用
     2. ..上一级不能超出顶级包



原文地址:https://www.cnblogs.com/3sss-ss-s/p/9456276.html