我正在参加有关python的考试,其中一个列出的OOP问题是: “你可以将来自不同类的对象存储在一个列表中吗?为什么?” 所以你可以这样做,但是有什么特别的目的吗?
答案 0 :(得分:0)
有什么特别的目的吗?
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
是一个简单的函数还是一个可调用的实例。