如何在Python類型註釋中引用'任何子類爲父類的對象?Python 3類型註釋和子類
示例:FooBase
是抽象基類,其中Foo1
,Foo2
等被分類。我希望函數接受FooBase
的任何後裔。這是否會做:
def do_something(self, bar:FooBase):
pass
還是將只接受FooBase
類的對象,這當然是不可能的因爲FooBase
是抽象的?在這種情況下,我是否需要構建所有案例的Union
(請上帝,我希望不是!),還是我可以通過其他方式抽象地表達這種關係?
您是否瞭解[PEP 484](https://www.python.org/dev/peps/pep-0484/)? *有*定義的含義。僅僅因爲它在運行時沒有被強制執行,並不意味着你寫的東西沒有意義。 – poke