模块化开发

Day35 模块化开发

什么是模块化开发?模块化开发的好处、如何进行模块化开发以及注意点、Python文件与普通文件的区别、Python包与目录的区别、绝对导入和相对导入、使用__all__过滤模块属性的可见性、slot、if __name__ == '__main__'

08-28侠课岛    基础入门       

后端/后端/Python 由浅入深入门 16     0     248

总结

1.什么是模块化开发

  • 模块化是代码的组成的一种方式,Python中的每一个文件就是模块;

  • 在Python中,文件有三种方式进行组织:Python文件,也就是Python模块、目录、包;

2.模块化开发的好处

  • 模块化开发能够将不同的功能组装在一起,实现功能的累加,诸多功能组装在一起,最终形成项目;

3.如何进行模块化开发以及注意点

  • 功能模块的分类;

  • 功能模块接口的定义;

  • 异常捕获;

4.Python文件与普通文件的区别

  • Python中的文件也就是以.py后缀名结尾的文件,每一个.py后缀名结尾的文件就是Python的一个模块,能够被其他模块所导入;

5.Python包与目录的区别

  • 包和目录的不同之处在于:包内部多一个init.py文件,使得包能够被模块导入,而目录不能;

6.绝对导入和相对导入

  • 绝对导入:从python的搜索路径中导入对应的包中的模块;

  • 相对导入: 相对导入必须在包内部使用,且有相对导入的模块,无法直接运行,必须使用python -m package.module这样的方式运行,或者被main模块导入,之后使用;

7.使用all过滤模块属性的可见性

  • 在模块导入中,模块的属性都能够被导入,没有私有和保护属性的概念;

  • 但是在使用 from package import * 的时候,保护属性和私有属性不会被导入;

  • 使用 all = ['add', 'a',] 可以显示申明能够被导入的属性;

8.slot

  • 使用slot可以加快属性访问速度;

  • slot可以减少内存消耗;

9.为什么要使用if name == 'main'

  • 用于测试,功能调试,不让测试代码污染模块;

  • if name == 'main' 就相当于是 Python 模拟的程序入口,由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个,哪个入口程序被选中取决于 name 的值,name 是内置变量,用于表示当前模块的名字,如果一个模块被直接运行,其 name 值为 main;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

16

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?