Nagarajan <[EMAIL PROTECTED]> wrote: > Here is what I need to achieve.. > > class A : > def __init__( self ): > self.x = 0
Don't use old style classes. If you are planning to use 'super' then you must use new-style classes, so use 'object' as a base class here. > > class B ( A ): > def __init__( self, something ): > # Use "super" construct here so that I can "inherit" x of A > self.y = something > > How should I use "super" so that I could access the variable "x" of A > in B? > If you aren't worried about diamond shaped multiple inheritance hierarchies then just use: class B ( A ): def __init__( self, something ): A.__init__(self) self.y = something If you are then: class B ( A ): def __init__( self, something ): super(B, self).__init__() self.y = something When you use super you usually just want the current class and current instance as parameters. Putting that together: >>> class A(object): def __init__( self ): self.x = 0 >>> class B ( A ): def __init__( self, something ): super(B, self).__init__() self.y = something >>> obj = B(3) >>> obj.x 0 >>> obj.y 3 >>> -- http://mail.python.org/mailman/listinfo/python-list