In Python, one can prevent a class from being directly instantiated by defining the __init__()
method as a private method with a double underscore (__
) prefix:
class MyClass:
def __init__(self):
raise NotImplementedError("Cannot directly instantiate this class")
This will raise an error if anyone attempts to directly create an instance of the class:
>>> my_instance = MyClass()
NotImplementedError: Cannot directly instantiate this class
Asked: 2023-02-27 11:00:00 +0000
Seen: 14 times
Last updated: Nov 15 '22