Hello everyone,

[Python 3.X]

I have the following factory model for the initialization of a class 
tree (code abbreviated for simplicity).

# item.py
class BadItemType(Exception):
    pass

class Item:
    def __init__(self, _data):

class Container(Item):
    def __init__(self, _data):
        Item.__init__(self, _data)
        # ...

class Tool(Item):
    def __init__(self, _data):
        Item.__init__(self, _data)
        # ...

def spawn(type_, id_):
    if type_ not in Item.__subclasses__():
        raise BadItemType()
    # ...
    return type_(data)

I'd like to know your opinions on an acceptable way to flag the Item 
class and its derived classes so users of this module know they should 
avoid instantiating them directly.

Other than the obvious notes on the classes docstrings, is it good 
enough I mark the constructor argument as an implementation variable as 
I did?
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to