Python基础入门教程20: 企业级开发基础 自定义模块
来源:
奇酷教育 发表于:
1 模块的概念和意义2 模块的定义和使用3 再说变量的作用域之前的课程中,我们已经了解了python程序设计开发的基础部分内容包含了数据类
1 模块的概念和意义
2 模块的定义和使用
3 再说变量的作用域
之前的课程中,我们已经了解了python程序设计开发的基础部分内容
包含了数据类型、变量、运算符、程序选择结构、循环结构、函数处理、字符串处理等等内容。
本节内容开始,我们开始学习python企业级开发基础部分的内容,会涉及到模块式整合开发、面向对象程序设计、错误的调试和测试、高级开发[文件IO处理,网络编程,多线程程序开发、正则表达式等等]内容,
1. 模块的概念和意义
我们在常规程序开发的过程中,如果只是通过python来写一些项目维护的小脚本程序,前面学过的内容已经基本够用了,但是如果涉及到企业级开发的复杂的一些需求的话,程序设计开发过程中会出现大量的代码,如果着大量的代码(如:1万行代码)写在一个python文件中,就会让这个文件的体积非常的庞大,开发过程中会造成大量的不必要的问题:如变量定义是否会覆盖其他定义的变量,添加功能处理代码会否影响其他的功能,由于大量代码集中在一个文件中导致修改维护变得非常的不容易,代码的可读性非常差等等各种问题。
此时,为了方便我们将不同的处理功能区分开,我们将处理不同数据或者功能的函数分别分组存放在不同的python文件中,就会将上面一个比较庞大的python文件拆分成多个python文件,每个python文件中的代码内容会比较少,通过多个Python文件互相组合的方式来完成复杂的处理功能。这样拆分的不同的python文件,每个python文件就是一个单独的python模块,专业术语:module
我们定义好的Python模块,可以在需要的地方,通过import 模块名称关键字来引入这个模块,代码如下:
拆分模块的好处是第一、将一个比较复杂的单文件拆分成多个文件,方便代码的管理和开发维护,第二、我们开发并完善好的Python模块,在其他需要这个模块功能的地方就可以直接引入组合这个模块,不需要重复编写Python代码了,第三、不同的python模块中,就可以使用相同名称的变量了,不同模块中的变量不会互相覆盖数据或者产生冲突,降低了我们代码开发的成本
变量在之前的课程中,我们已经提到了变量在Python中有局部变量和全局变量的区分,是通过是否定义在函数内部来区分的。
此时有了多模块之后,对于变量的作用域,需要进行更加细致的划分。
3.1. 模块内部
模块内部,还是按照正常的情况进行划分,按照是否定义在函数内部来区分全局变量和局部变量,在模块文件内部,变量的使用没有任何的变量
在模块内部,变量依旧是全局变量/局部变量,变量的作用域正常使用即可
3.2. 不同模块之间的变量访问
python中定义了模块之后,不同模块之间访问数据和函数的情况就比较常见了;模块中的变量,有些是需要让别的模块访问的,有些是不希望别的模块访问的,此时就会将变量区分为模块公开的变量、模块私有的变量两种变量了。
python的模块中,按照正常的命名规则命名的变量或者函数,规范为公开的变量或者函数,其他的模块都可以正常的访问
python的模块中,使用一个下划线开头来命名的变量或者函数,规范为私有的变量或者函数,只能在当前模块中使用
python的模块中,使用两个下划线开头的变量,可以别模块直接引用使用具有特殊的含义,如__name__表示当前模块名称等等;规范要求我们自己的变量名称尽量不要使用这样的名称。