ID EN
ABC

ABCMeta

Python 3.11 🇮🇩 Bahasa Indonesia

Metaclass untuk mendefinisikan Kelas Dasar Abstrak (ABC).

Syntax

PYTHON
class abc.ABCMeta

Contoh

Example 1
PYTHON
from abc import ABC

class MyABC(ABC):
    pass

MyABC.register(tuple)

assert issubclass(tuple, MyABC)
assert isinstance((), MyABC)
Example 2
PYTHON
class Foo:
    def __getitem__(self, index):
        ...
    def __len__(self):
        ...
    def get_iterator(self):
        return iter(self)

class MyIterable(ABC):

    @abstractmethod
    def __iter__(self):
        while False:
            yield None

    def get_iterator(self):
        return self.__iter__()

    @classmethod
    def __subclasshook__(cls, C):
        if cls is MyIterable:
            if any("__iter__" in B.__dict__ for B in C.__mro__):
                return True
        return NotImplemented

MyIterable.register(Foo)

See Also

issubclass() super() get_cache_token() issubclass() register() __subclasscheck__() NotImplemented __iter__()