C
Croepha
Is there anything like this in the standard library?
class AnyFactory(object):
def __init__(self, anything):
self.product = anything
def __call__(self):
return self.product
def __repr__(self):
return "%s.%s(%r)" % (self.__class__.__module__, self.__class__.__name__,
self.product)
my use case is:
collections.defaultdict(AnyFactory(collections.defaultdict(AnyFactory(None))))
And I think lambda expressions are not preferable...
I found itertools.repeat(anything).next and functools.partial(copy.copy,
anything)
but both of those don't repr well... and are confusing...
I think AnyFactory is the most readable, but is confusing if the reader
doesn't know what it is, am I missing a standard implementation of this?
class AnyFactory(object):
def __init__(self, anything):
self.product = anything
def __call__(self):
return self.product
def __repr__(self):
return "%s.%s(%r)" % (self.__class__.__module__, self.__class__.__name__,
self.product)
my use case is:
collections.defaultdict(AnyFactory(collections.defaultdict(AnyFactory(None))))
And I think lambda expressions are not preferable...
I found itertools.repeat(anything).next and functools.partial(copy.copy,
anything)
but both of those don't repr well... and are confusing...
I think AnyFactory is the most readable, but is confusing if the reader
doesn't know what it is, am I missing a standard implementation of this?