我是靠谱客的博主 失眠汽车,这篇文章主要介绍41.Python包介绍,现在分享给大家,希望可以做个参考。

文章目录

      • 1.Python包
      • 2.包与普通文件夹的区别
      • 3.导入模块与导入包
      • 4.点符号的作用
      • 5.包的使用
      • 6.注意点

1.Python包

复制代码
1
2
3
:包含模块的文件夹. 一个py文件是一个模块.

2.包与普通文件夹的区别

复制代码
1
2
3
4
包与文件夹: :含有一个__init__.py 普通文件夹:

3.导入模块与导入包

复制代码
1
2
3
4
5
6
模块首次导入发生的3件事: 1.执行文件产生一个全局名称空间 2.执行导入模块语句时,执行模块文件,模块中全部名称,存档到全局名称空间 3.模块文件的全局名称空间绑定给执行文件一个名称 * 之后便可以使用这个名字得到模块文件的全部名称.
复制代码
1
2
3
4
5
6
7
8
包首次导入发生的3件事: 1.执行文件产生一个全局名称空间 2.执行导入包语句时,执行包内的__init__.py文件,文件中产生的名称,存档到全局名称空间 3.__init__.py文件产生的全局名称空间绑定给执行文件一个名称 * 导入包就是导入__init__.py 文件 * 在Python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错
复制代码
1
2
3
4
5
6
7
Project1 | |----run.py | |---a |---.__init.py
复制代码
1
2
3
# run.py import a # 123
复制代码
1
2
3
# a/.__init__.py print(123)
复制代码
1
2
在导入包a的时执行.__init__.py

4.点符号的作用

复制代码
1
2
3
导入文件的点代表路径. 执行语句的点代表从名称里空间中取值.

5.包的使用

复制代码
1
2
3
4
在__init__.py 内的名称其他同级文件都能引用. 也不在是导入包内的其他文件. 包内
复制代码
1
2
3
4
5
6
7
8
9
Project2 |---run.py | ----a | |---.__init__.py ---> 有一个名称 name --指向10 | |---m1.py ---> print(name) ---> 10
复制代码
1
2
3
4
# run.py import a print(a.m1.name)
复制代码
1
2
3
4
# __init__py import a.m1 print('from __init__.py')
复制代码
1
2
3
# m1.py name = 10

6.注意点

复制代码
1
2
3
4
5
6
7
__init__py : import m1 这行语句报错 run.py 导入 a 执行.__init__.py .__init__.py的第一条语句是 import m1 报错 原因:这个时候import a 只站在 run.py的角度去导模块m1 直接提示找不到,改为 a.m1 就能找到.

最后

以上就是失眠汽车最近收集整理的关于41.Python包介绍的全部内容,更多相关41内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部