W odniesieniu do odpowiedzi dla this question jest to "Użyj modułu abc Pythona, aby utworzyć klasy abstrakcyjne." (przez @alexvassel i akceptowane jako odpowiedź).Potrafi utworzyć instancję klasy Python, pomimo że jest to Abstrakt (używając abc).
Próbowałem sugestii, ale o dziwo, pomimo podążania za sugestiami, jak korzystać z drogi abc
, to nie działa dla mnie. Stąd jestem delegowania go jako pytanie tutaj:
Oto mój kod Python:
from abc import ABCMeta, abstractmethod
class Abstract(object):
__metaclass__ = ABCMeta
@abstractmethod
def foo(self):
print("tst")
a = Abstract()
a.foo()
Kiedy wykonać tego modułu, tutaj jest wyjście na konsolę:
pydev debugger: starting (pid: 20388)
tst
w przeciwieństwie do tej zaakceptowanej odpowiedzi
>>> TypeError: Can not instantiate abstract class Abstract with abstract methods foo
Co więc robię dobrze, czy źle? Dlaczego praca nie kończy się niepowodzeniem? Doceń wszelkie wgląd ekspertów w to.
Byłem w stanie jednoznacznie odpowiedzieć na to pytanie? –