概述
文章目录
- 1.Python包
- 2.包与普通文件夹的区别
- 3.导入模块与导入包
- 4.点符号的作用
- 5.包的使用
- 6.注意点
1.Python包
包:包含模块的文件夹.
一个py文件是一个模块.
2.包与普通文件夹的区别
包与文件夹:
包:含有一个__init__.py
普通文件夹: 空
3.导入模块与导入包
模块首次导入发生的3件事:
1.执行文件产生一个全局名称空间
2.执行导入模块语句时,执行模块文件,模块中全部名称,存档到全局名称空间
3.模块文件的全局名称空间绑定给执行文件一个名称
* 之后便可以使用这个名字得到模块文件的全部名称.
包首次导入发生的3件事:
1.执行文件产生一个全局名称空间
2.执行导入包语句时,执行包内的__init__.py文件,文件中产生的名称,存档到全局名称空间
3.__init__.py文件产生的全局名称空间绑定给执行文件一个名称
* 导入包就是导入__init__.py 文件
* 在Python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错
Project1
|
|----run.py
|
|---a
|---.__init.py
# run.py
import a # 123
# a/.__init__.py
print(123)
在导入包a的时执行.__init__.py
4.点符号的作用
导入文件的点代表路径.
执行语句的点代表从名称里空间中取值.
5.包的使用
在__init__.py 内的名称其他同级文件都能引用.
也不在是导入包内的其他文件.
包内
Project2
|---run.py
|
----a
|
|---.__init__.py ---> 有一个名称 name --指向10
|
|---m1.py ---> print(name) ---> 10
# run.py
import a
print(a.m1.name)
# __init__py
import a.m1
print('from __init__.py')
# m1.py
name = 10
6.注意点
__init__py 中:
import m1 这行语句报错
run.py 导入 包 a 执行.__init__.py
.__init__.py的第一条语句是 import m1 报错
原因:这个时候import a 只站在 run.py的角度去导模块m1
直接提示找不到,改为 a.m1 就能找到.
最后
以上就是失眠汽车为你收集整理的41.Python包介绍的全部内容,希望文章能够帮你解决41.Python包介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复