כן, הן נחשבות אבסטרקטיות לפי ההגדרה היבשה של מחלקה אבסטרקטית במדעי־המחשב (מחלקה שלא יוצרים ממנה מופעים), אבל אין סיבה להשתמש ב־ABC כאן כי אנחנו לא רוצים להכריח אף אחת מתתי־המחלקות לממש פעולות מסוימות.
הרחבה:
בתורת הטיפוסים אנחנו מגדירים טיפוס אבסטרקטי (abstract type, סוג משתנה אבסטרקטי) כטיפוס שאי אפשר ליצור ממנו מופעים. טיפוס שכן אפשר ליצור ממנו מופעים (הקבוצה המשלימה לטיפוס אבסטרקטי) נקראת טיפוס מוחשי (concrete type).
בשפות תכנות רבות נהוג שבטיפוס האבסטרקטי כתובות חתימות של פעולות (שם ופרמטרים) ללא מימוש, שתתי־המחלקות שיורשות ממנה חייבות לממש. מחלקות אבסטרקטיות שיש בהן רק חתימות של פעולות בלי אף מימוש נקראות “מחלקות אבסטרקטיות טהורות” (ובשמות הלא תיאורטיים בשפות שונות קוראים לזה interface, protocol או class type).
כמו שאולי שמת לב ונרמז במחברת, בפועל, אפשר ליצור מופעים מתוך “מחלקות אבסטרקטיות” בפייתון כל עוד לא הגדרנו את __init__ כ־abstractmethod. משמע שבפייתון מחלקה אבסטרקטית לא באמת עונה על ההגדרה המדמ"חניקית גרידא של מחלקה אבסטרקטית.
המטרה של ABC בפייתון, בכל מקרה, היא לתת לך אפשרות להשתמש במה שכתבתי בסעיף 2 – להגדיר באופן כללי קווים מנחים למחלקות שהולכות לרשת מהמחלקה שלך – פעולות שהם יהיו חייבים לממש. זה מאוד מועיל כשאתה רוצה לתת למתכנתים אחרים רעיון כללי לגבי מה צריך לממש כדי שמחלקה שהם יוצרים עבור התוכנה שלך תעבוד (נניח, לצורך מערכת פלאגינים או משהו בסגנון)