包 笔记

今日内容:
1.什么是包
包是一种模块
对于使用者而言,使用方式和模块没有任何取别
但本质上就是一个文件夹,与普通文件的区别就是
多了一个__init__.py叫做包的初始化文件
  2 为何要用包
  包是文件夹,那文件夹就是用来组织文件的
  3.
#coding:utf-8
# 注意:
# 在python2中,包下必须有一个__init__.py文件,而python3中即便是没有也不会报错

# 首次导入包,发送三件事,
# 1. 以包下的__init_.py文件为基准来产生一个名称空间
# 2. 执行包下的__init_.py文件的代码,将执行过程中产生的名字都丢到名称空间中
# 3. 在当前执行文件中拿到一个名字p1,该p1就是指向__init__.py名称空间的

# 总结包的使用无非注意三点:
# 1. 但凡是在导入语句中带点的,点的左边都必须是一个包
# 2. 导入包就是在导包下的__init__.py文件
# 3. 如果使用绝对导入,绝对导入的起始位置都是以包的顶级目录为起始点
# 4. 但是包内部模块的导入通常应该使用相对导入,用.代表当前所在的文件(而非执行文件),..代表上一级
# 强调:
# 1. 相对导入只能包内部的模块之间互相导入使用
# 2. ..上一级不能超出顶级包
import sys
sys.path.append(r'D:\脱产三期视频\day18\01 包的使用\dir1\dir2')

# import p1 #导入模块其实就是在导入包下的__init__.py文件

# print(p1.xxx)
# print(p1.yyy)

# p1.f1()
# p1.f2()
# print(p1.p2)
# p1.p2.f3()

# p1.f3()

猜你喜欢

转载自www.cnblogs.com/yanhui1995/p/9780691.html