答案页 · 12 道题

Python 类与对象练习答案

本页汇总 Python 类与对象 的 12 道练习。先做练习页,再回到这里核对准确答案和原因。

快速答案

本答案页包含 Python 类与对象 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。

答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。

01 · 选择题

哪个方法负责初始化新对象?

  1. __main__
  2. __init__正确答案
  3. init
  4. __start__

答案: __init__

为什么: 创建实例时会自动运行 __init__。

02 · 选择题

方法里的 self 指向什么?

  1. 模块
  2. 当前实例正确答案
  3. 类本身
  4. 父类

答案: 当前实例

为什么: self 是调用该方法的那个对象。

03 · 选择题

怎样创建 Order 的实例?

  1. Order.new(...)
  2. Order("latte", 4.5)正确答案
  3. new Order(...)
  4. Order.init(...)

答案: Order("latte", 4.5)

为什么: 像调用函数一样调用类,就能创建实例。

04 · 选择题

什么是属性?

  1. 类外部的函数
  2. 文件路径
  3. 循环变量
  4. 保存在对象上的数据正确答案

答案: 保存在对象上的数据

为什么: 属性保存某个对象的状态。

05 · 填空题

补全初始化对象的方法名。

class Order:
    def ____(self, drink):
        self.drink = drink

答案: __init__

为什么: __init__ 是初始化方法。

06 · 填空题

补全属性赋值,把 drink 参数保存到实例上。

class Order:
    def __init__(self, drink):
        self.____ = drink

答案: drink

为什么: self.drink 会把参数保存到实例上。

07 · 填空题

补全表达式,让价格乘以数量。

class Order:
    def total(self):
        return self.price ____ self.quantity

答案: *

为什么: self.price * self.quantity 使用对象自己的属性。

08 · 填空题

补全调用,创建一个 Order 实例。

order = ____("latte", 4.5)
print(order.price)

答案: Order

为什么: 类名后面加括号就会创建实例。

09 · 输出预测

这段代码会输出什么?

class A:
    def __init__(self, x):
        self.x = x
print(A(3).x)

答案: 3

为什么: 实例把 3 保存在 x 属性中。

10 · 输出预测

运行结果是什么?

class A:
    def value(self):
        return 7
print(A().value())

答案: 7

为什么: 方法返回 7。

11 · 输出预测

这段程序打印出什么?

class Order:
    def __init__(self, price, quantity=2):
        self.price = price
        self.quantity = quantity
print(Order(4).price * Order(4).quantity)

答案: 8

为什么: 每个 Order 的价格是 4、数量是 2,乘积为 8。

12 · 输出预测

代码的输出结果是什么?

class A:
    pass
print(A().__class__.__name__)

答案: A

为什么: 类名是 A。

先试一遍题目

打开 Python 类与对象 练习页,用即时反馈回答同样的 12 道题。

练习本课