ich habe folgende klasse:
Code: Alles auswählen
class Multiton( object ):
def __new__(cls, key):
print "M new"
if not hasattr(cls, '_instances'):
cls._instances = dict()
if key not in cls._instances:
cls._instances[key] = object.__new__(cls, key)
return cls._instances[key]
def __init__(self, key):
print "M init"
self.key = key
Code: Alles auswählen
class Test1( Multiton ):
def __init__(s, key, extra):
pass
Code: Alles auswählen
class Test2( Multiton ):
def __new__(s, key, extra):
print "T new"
Multiton.__new__(s, key)
def __init__(s, key, extra):
print "T init"
s.key=key
s.extra=extra
Code: Alles auswählen
>>> t=Test2(1, 2)
T new
M new
>>> type(t)
<type 'NoneType'>
Was passiet da genau?
... und wie macht man das?
danke schonmal