from abc import ABCMeta, abstractmethod, abstractproperty
class IRobot(metaclass = ABCMeta):
@abstractproperty
def data(self):
pass
@abstractmethod
def speak(self):
pass
class Chitti(IRobot):
def __init__(self, value): # Dunder - Double Underscore
self._data = value
@property # Getter
def data(self):
return self._data
def speak(self):
print(f'{self.data}')
chitti = Chitti('Speed 1 Tera Hertz, Memory 1 Zetabyte!')
chitti.speak()
Speed 1 Tera Hertz, Memory 1 Zetabyte!
class NS5(IRobot):
pass
ns5 = NS5()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-7-cde518bdbd57> in <module>() ----> 1 ns5 = NS5() TypeError: Can't instantiate abstract class NS5 with abstract methods data, speak