It is very surprising to me that I can instantiate an abstract class in python:
from abc import ABC class Duck(ABC): def __init__(self, name): self.name = name if __name__=="__main__": d = Duck("Bob") print(d.name) The above code compiles just fine and prints out the expected result. Doesn't this sort of defeat the purpose of having an ABC?
ABCandabstractmethodis what makes a true abstract class in python.