阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 普通考試_資訊處理:程式設計概要#109801
科目:程式設計
年份:111年
排序:0

題組內容

五、以下二小題是完整的物件導向程式碼,請回答以下各小題。

申論題內容

(一)以下為 Python 完整程式碼,請回答執行的結果為何?

詳解 (共 1 筆)

詳解 提供者:hchungw

這段 Python 代碼定義了一個 Employee 類別,它有一個類別屬性 all 用來儲存所有員工實例的列表。每當建立一個新的 Employee 實例時,都會呼叫 __init__ 方法將這個實例加入到 all 這個列表中。__repr__ 方法定義了實例的字串表示,當打印或以其他方式展示一個 Employee 實例時,這個表示將會被使用。
代碼底部建立了兩個 Employee 實例,然後打印 Employee.all 這個列表。根據定義,應該會看到兩個員工的 ID 和名稱的字串表示。
所以,執行結果將會類似於以下形式:
csharp
Copy code
[<Employee object at 0xXXXXXX>, <Employee object at 0xYYYYYY>]
但由於 __repr__ 方法的定義,它實際上會打印出每個員工的 ID 和名字,如:
css
Copy code
[(ID=001, Name=Peter Lee), (ID=002, Name=Ann Lo)]
這裡的 0xXXXXXX 和 0xYYYYYY 是內存中對象的地址,實際輸出會用實際的地址值來代替。由於代碼實際上沒有在這個環境中執行,所以上述的輸出是根據代碼推斷的預期結果。