Comment 1 for bug 562874

Revision history for this message
Skipper Seabold (jsseabold) wrote :

What about something like this, I don't know if it seems more or less intuitive

class Gaussian(object):
    def __init__(self, **kwargs):
        self.link = kwargs.get('link', 'default')
        self.alpha = kwargs.get('alpha', 'default')

class GLM(object):
    def __init__(self, family=Gaussian, family_kwargs={}):
        self.family = family(**family_kwargs)

A = GLM(family_kwargs=dict(link = 10, alpha = 25))
print A.family.link
A.family.link = 50
print A.family.link
print A.family.alpha
B = GLM()
print B.family.link
print B.family.alpha