需要解决的问题
在编写Python代码的过程中,为了更好的管理代码,我们会使用到包(package)、模块(module)、类(class)、函数(function)。
介绍一下这几个概念:
首先是模块,module可以简单理解为就是一个.py文件,这个文件里面可以包含类、变量、常量和函数等;
然后是包,简单理解含有__init__.py的目录就算是一个包,需要明确的是在python中包其实是一种特殊的模块,但模块并不是包。原因其实很简单,sys.modules我们获取到的结果中包含包和模块,而module.__package__则会获取到包的信息;
最后是类(函数在这里就不说了),类会写在.py文件中,一般为了控制文件的大小,通常将一个或几个有关联的类写在一个文件中。当然个人还是觉得一个类独占一个文件比较好,除非你想看见一大堆乱糟糟的代码挤在一个超大的文件里。
然后再来看看我们日常使用包、模块和类的做法
# 目录结构
#|--demo.py
#|--package_a
# |--__init__.py
# |--class_a.py 类ClassA
# |--class_b.py 类ClassB
# ./demo.py
# 导入方式一
from package_a.class_a import ClassA
from package_a.class_a import ClassB
a = ClassA()
b = ClassB()
# 导入方式二
import package_a.class_a as ca
import package_a.class_b as c