7.2.3 对象方法的调用

一旦创建了对象,就可以通过向对象发消息来调用对象的方法。消息的格式如下:

<对象>.<方法>(<实参>)

其含义是请求<对象>执行<方法>,方法定义中列出的形式参数由<实参>提供。

例如,接着前面的例子执行如下语句:

>>> p1.whatName()
My name is Lucy
>>> p2.whatName()
My name is Tom
>>> p2.howOld(2013)
My age in 2013 is 23

前面说过,类中定义的方法都必须以 self 作为第一个参数,这个参数用来指明当前是哪 一个对象实例要执行类的方法。传给 self 的实参就是上述方法调用格式中的<对象>,只不过 这个实参是由 Python 隐含地传递给 self,而不是由程序员在方法调用表示法中直接传递。上 面例子中的 p1.whatName()和 p2.howOld()引起的方法调用过程可参见图 7.8。

图 7.8 对象方法调用过程

要说明的是,类方法的第一个参数所用的参数名 self 只是 Python 语言的惯例,而非硬性 规定,完全可以使用别的名字①。