יום 3 - מט פי, טיפוסים של מחלקות

אשמח להכוונה לגביי השגיאה הבאה:

image

כדי לתקן צריך לענות על 3 שאלות:

  1. איך נראית האנוטציה שלך עבור המילון שמופיע בשורה 59?
  2. איך mypy אומר שהיא נראית?
  3. מה הוא אומר שהוא ציפה לראות?

כניראה שאני לא מבינה משהו מהותי על אנוטציה של מחלקות אשר יורשות מחלקה.
נגיד יש לי מספר מחלקות של חיות (חתול, כלב, פרה…) כולם יורשות את מחלקת “חיות”
אם אני יוצרת למשל רשימה כזאת [cat, dog, cow] זה יהיה שגוי להגדיר את הרשימה: List[Animal]?

האם זו רשימה של המחלקות עצמן, או של מופעים שלהן?

בדוגמא שכתבתי של המחלקות עצמן

אז כן, זה שגוי, כיוון ש־List[Animal] מתייחס לרשימה של איברים מסוג Animal.
אם נרצה לעשות אנוטציה לרשימה של מחלקות (רשימה של סוגים בפני עצמם), האנוטציה תהא: List[Type[Animal]]

לייק 1

תודה!
במצב של מופעים זה יהיה נכון לעשות ככה?