python学习手册笔记——24.高级模块话题

00.把下划线放在变量名前面,可以防止客户端from *语句导入模块名时,把其中的那些变量名赋值出来。这其实时为了对命名空间的破快最小化。

01.可以把模块顶层把变量名的字符串列表赋值给变量__all__,以达到类似于_X命名惯例的隐藏效果。

02.__name__和__main__
a.如果文件是以顶层程序文件执行,在启动时,__name__就会设置为字符串"__main__".
b.如果文件被导入,__name__就会改设成客户端所了解的模块名
一个模块的__name__变量充当一个使用模式标志,允许它编写成一个可导入的库和一个顶层脚本。

03.import和from语句都可以扩展,让模块可以在脚本中给予不同的变量名:
import modulename as name
相当于:
import modulename
name = modulename
del modulename

04.模块通过内置属性显示了他们的大多数有趣的特性,因此,可很容易地白那些程序来管理其他程序。

05.模块设计理念:需要思考那些函数要放进模块、模块通信机制等。当开始编写较大的Python系统时,这些就会变得明亮起来
*总是在Python的模块内编写代码
*模块耦合要降到最低:全局变量。原则就是,模块应该尽可能你和其他模块的全局变量无关,除了于从模块导入的函数和类。
*最大化模块的粘合性:同一目标
*模块uing该少去修改器它模块的变量。

06.from复制变量名,而不是连接。from语句其实时在导入者的作用域内对变量名复制语句,也就是变量名拷贝运算,而不是变量名的别名机制。

原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/11215684.html