abc
Python abc moduli
❮ Python o‘rnatilgan modullari
Misol
Abstrakt asosiy sinfni aniqlang va uni amalga oshiring:
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Square(Shape):
def __init__(self, s):
self.s = s
def area(self):
return self.s * self.s
sq = Square(3)
print(isinstance(sq, Shape))
print(sq.area())
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
abc moduli abstrakt asosiy sinflar (ABC — Abstract Base Classes) yaratish uchun vositalarni va abstrakt metodlar uchun dekoratorlarni taqdim etadi.
ABC’lardan quyi sinflar amalga oshirishi shart bo‘lgan umumiy interfeysni aniqlash uchun foydalaning. Bu kelishuvlarga (contract) rioya qilinishini ta’minlaydi va katta kod bazalarida aniqlikni oshiradi.
A’zolar
| A’zo | Tavsif |
|---|---|
| ABC | Abstrakt sinflarni aniqlash uchun asosiy sinf. |
| ABCMeta | ABC’larni aniqlash uchun ishlatiladigan metasinf (metaclass); ro‘yxatdan o‘tkazish va abstrakt metodlarni tekshirish imkonini beradi. |
| abstractclassmethod() | Eskirgan. Buning o‘rniga classmethod dekoratorini abstractmethod bilan birga ishlating. |
| abstractmethod() | Metodlarni abstrakt deb belgilaydigan dekorator (ular quyi sinflarda qayta aniqlanishi shart). |
| abstractproperty() | Eskirgan. Buning o‘rniga property dekoratorini abstractmethod bilan birga ishlating. |
| abstractstaticmethod() | Eskirgan. Buning o‘rniga staticmethod dekoratorini abstractmethod bilan birga ishlating. |
| get_cache_token() | Joriy ABC kesh tokenini qaytaradi (ABC’lar o‘zgartirilganda u ham o‘zgaradi). |
| update_abstractmethods() | Sinf uchun abstrakt metodlar to‘plamini qayta hisoblaydi. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
