Ask Your Question
0

How can one stop a class from being directly instantiated in Python?

asked 2023-02-27 11:00:00 +0000

qstack gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2022-11-15 14:00:00 +0000

pufferfish gravatar image

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
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-02-27 11:00:00 +0000

Seen: 14 times

Last updated: Nov 15 '22