diff --git a/abcmeta.py b/abcmeta.py new file mode 100644 index 0000000..712d526 --- /dev/null +++ b/abcmeta.py @@ -0,0 +1,49 @@ +from __future__ import division, print_function +import abc + + +class Base(object): + __metaclass__ = abc.ABCMeta + + @abc.abstractproperty + def x(self): + return 'Should never get here' + + @abc.abstractmethod + def process(self, data): + """ Process data. + Return bool + + """ + return + + def __del__(self): + print("__del__") + + +class Implementation(Base): + def __init__(self): + self._x = True + + @property + def x(self): + return self._x + + @x.setter + def x(self, value): + self._x = value + + def process(self, data): + data += 1 + return True + +# b = Base() +# print(b.x) + +i = Implementation() +print(i.x) +a = 1 +i.process(a) +print(a) + +i2 = Implementation()