我是靠谱客的博主 失眠汽车,最近开发中收集的这篇文章主要介绍41.Python包介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

      • 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包介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部