Calling a constructor by reference

Edwin Young edwin at
Thu Oct 7 15:53:06 CEST 2004


I know there must be a way to do this but the correct syntax eludes me.

I want to write a method which I can pass different types to and have
it construct them.

I tried this:

class X:
    def __init__(self):

def make_thing(type,*args):
    return type(args)

x = X()
y = make_thing(X)

print x, y 

But get 'TypeError: __init__() takes exactly 1 argument (2
given)'. Presumably X is treated as an unbound instance method?

Also, the types I want to create inherit from an old-style class in a
package, so I don't think I can make X a new-style class (if that's

How should I go about this?


More information about the Python-list mailing list