答案頁 · 12 道題

Python 類與物件練習答案

本頁彙整 Python 類與物件 的 12 道練習。先做練習頁,再回到這裡核對準確答案和原因。

快速答案

本答案頁包含 Python 類與物件 的 4 道選擇題、4 道填空題和 4 道輸出預測題,每題都給出準確答案和簡短解釋。

答案已完整展示,建議先嘗試作答,再用本頁核對。第一次練習最好從互動練習頁開始。

01 · 選擇題

哪個方法負責初始化新物件?

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

答案: __init__

為什麼: 建立實例時會自動執行 __init__。

02 · 選擇題

方法裡的 self 指向什麼?

  1. 類本身
  2. 父類
  3. 模組
  4. 目前實例正確答案

答案: 目前實例

為什麼: self 是呼叫該方法的那個物件。

03 · 選擇題

怎樣建立 Order 的實例?

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

答案: 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 道題。

練習本課