Constructor class problem

Diez B. Roggisch deetsNOSPAM at
Mon Mar 21 14:39:01 CET 2005

Wolfgang wrote:

> Hi,
> I am a newbie and have to modify some python moduls.
> I get the followin error:
> TypeError: __init__() takes exactly 3 arguments (2 given)
> Here the code snippet:
> class gXconv:
>     def __init__(self, pathValue):
>         self.pathValue=pathValue
>         self.__sections = {}
>         self.__spalten = {}
>         self.labelfiles=[]
> etc.....
> call:
>     try:
>         gx=gXconv.gXconv(gXconfPath)
>     except gXconv.gXconvertError, msg:
>         print msg
>         sys.exit(1)

That error can't appear in the above code - is the line in the stacktrace
amongst the shown ones? I doubt it. 

The error means that you tried to call a function with less arguments than
it expected. As in __init__ the first argument is implicit on creation of
an object, the above errormessage indicates that there is an __init__
of the form

class Foo:
    def __init__(self, arg1, arg2)

called like this


But as the only constructor you show _has_ only one additional argument
besides self and line 


shows that you called it properly, the error must come from somewhere else.


Diez B. Roggisch

More information about the Python-list mailing list