物理学一直在探索着世界是由什么组成的,从眼睛看到的一些物体追究到了分子、原子、原子核以及电子、中子和质子,乃至于夸克等微小粒子。迄今为止,物理学家还没有确定组成物质的最小单元是什么——是否无限可分,是科学问题,也是哲学问题。
Python 没有背负寻找微观粒子的重任,虽然它通常解决的是各类现实问题,但同样要研究“物质组成”。比如,要写一个用于学生上学报到缴费的程序。这个现实问题涉及到哪些“组成”?不可缺少的“组成”包括:学生、学校、教师,每个“组成”有自己特征。例如:
如果把上述三个“组成”的特征描述清楚了,就如同制造了三个模型,那么剩下的事情只需要把三个“模型”组合起来,即能完成“上学报到缴费”的业务流程。
因此,Python 也研究“世界的组成”,并且,把这些组成统一命名为“对象”( Object ),即在 Python 的语境中,“世界是由对象组成的” —— 2.3节曾用一个有点粗俗的词语“东西”来指代“对象”。
还是以刚才的问题为例。如果考察一下“学生”、“学校”、“教师”这三个对象,发现可以按照一定的规则划分为不同的“类型”。比如把“学生”和“教师”归为同一个类型,并且可以把此类型取名为“人类”。这样,要做的“模型”个数也就是有限的了——不是有多少个对象做多少个“模型”。可以先制作“类型”,根据类型可以得到具体的某种“对象”。
为了使用方便,Python 中预先制作了一些对象的类型,称为“内置对象类型”。由这些对象类型直接产生的对象,就称为“内置对象”。
现在还没有给“对象”下一个严格的定义——此定义会在后续内容中阐明。但是读者通过上述例子也能总结出对象应该具有:
关于对象,是一个听起来很复杂的概念,随着学习的深入,读者会在不知不觉中接受并使用它。本书的后续内容都会围绕“对象”展开。