41.Python包介绍

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 就能找到.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值