-1
我正在參加有關python的考試,其中一個列出的問題是OOP: 「您能否將來自不同班級的對象存儲在一個列表中,爲什麼?」 所以你可以這樣做,但是有沒有特定的目的來做到這一點?爲什麼Python允許在列表中存儲不同的對象?
我正在參加有關python的考試,其中一個列出的問題是OOP: 「您能否將來自不同班級的對象存儲在一個列表中,爲什麼?」 所以你可以這樣做,但是有沒有特定的目的來做到這一點?爲什麼Python允許在列表中存儲不同的對象?
有沒有特定的目的來做到這一點?
Python是一種duck typed語言,因此,儘管對象可能是不同類型的,他們仍然可以表現相似。
一個常見的例子是回調函數列表;你真的不知道他們是否是功能,或實現__call__
方法一些自定義的類的實例:
my_event_callbacks = []
my_event_callbacks.append(my_callback)
...
for callback in my_event_callbacks:
callback(my_event_data)
你看不出來,你也不應該關心,my_callback
是否僅僅是一個簡單的函數或一個可調用的實例。
該問題可能被解釋爲「命名爲什麼可能」。 – bakatrouble
多態行爲?基於策略的設計(例如:該列表中的所有類都有某些方法)? – UnholySheep
您是否願意將所有'形狀'存儲在同一個列表中,或者爲'Circle','Triangle'和'Square'單獨列出一個列表? – DeepSpace