4. 创建和使用对象

在我们定义好一个类之后,可以使用构造器语法来创建对象。在类的名字后跟上圆括号就是所谓的构造器语法。

python
stu1 = Student()
stu2 = Student()
print(stu1)    # <__main__.Student object at 0x10ad5ac50>
print(stu2)    # <__main__.Student object at 0x10ad5acd0>
print(hex(id(stu1)), hex(id(stu2)))    # 0x10ad5ac50 0x10ad5acd0

print 函数打印 stu1stu2 时,会输出对象在内存中的地址(十六进制形式),跟我们用 id 函数查看对象标识获得的值是相同的。stu3 = stu2 这样的赋值语句并没有创建新的对象,只是用一个新的变量保存了已有对象的地址。

给对象发消息(调用方法)

Python 中,给对象发消息有两种方式:

python
# 方式1:通过"类.方法"调用
# 第一个参数是接收消息的对象,第二个参数是学习的课程名称
Student.study(stu1, 'Python程序设计')    # 学生正在学习Python程序设计.

# 方式2:通过"对象.方法"调用
# 点前面的对象就是接收消息的对象,只需要传入第二个参数
stu1.study('Python程序设计')             # 学生正在学习Python程序设计.

Student.play(stu2)                      # 学生正在玩游戏.
stu2.play()                             # 学生正在玩游戏.