abstract class in Python

By default, Python does not provide abstract classes. Python comes with a module that provides the base for defining Abstract Base classes(ABC) and that module name is ABC. ABC works by decorating methods of the base class as abstract and then registering concrete classes as implementations of the abstract base. A method becomes abstract when decorated with the keyword \@abstractmethod. 
```
from abc import ABC, abstractmethod
 
class Polygon(ABC):
    @abstractmethod
    def noofsides(self):
        pass
 
class Triangle(Polygon):
    def noofsides(self):
        print("I have 3 sides")

R = Triangle()
R.noofsides()
```