Python包、模块易错点

1、python项目的组织架构示意图
在这里插入图片描述
python程序结构:包―>模块―>类―>变量和函数(这两个为类的属性,不属于Python结构),就好比学生的身高与体重不属于学校的组织架构一样,它们只是学生所特有的属性

2、在Python里面包就是文件夹,但文件夹不一定是包,包是含有__init__.py模块的文件夹

3、Python中的import都是导入模块,导入包其实就是导入模块的集合,该模块集合以包名命名,且每次导入都会执行__init__所有的语句,这种特点常常用来批量导入模块
注:导入模块会执行模块所有的语句,导入包则导入包下所有模块并执行与包同名的__init__.py模块的所有语句(__init.py__被抽象成语包同名)

4、包和模块是不会被重复导入的,不然性能会受到很大影响

5、我们可以在包的__init__.py模块中写下

__all__ = ["module1","module2"]

来限制其他模块使用

from package import *

来导入该包的模块,以上代码限制其他包使用import *只能导入module1和module2模块
同样的,在模块顶部写

 __all__ = ["function1","function2","bianliang1","bianliang2"]

限制其他模块的导入行为

7、包或模块不能循环调用,即对A与B两个模块
在A中

import B

在B中

import A

这样子循环调用是不行的,因为在A中导入B时会执行B的所有语句,即会执行import B,然后在B中又会执行import A,如此循环,不会结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三只佩奇不结义

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值