> I have a class, and want to use a method of it in the class itself. > > How can I do it? > > I mean, say I defined foo() , bar() methods in a class myClass. So, how > can we i use foo() in bar(). I tried to use @staticmethod, @classmethod, > but I am getting some errors.. > > sometimes saying "unbound " and sometimes "given more than 1 parameters" > .. can any one tell me how to do this...
You should read about object oriented programming in Python. http://www.alan-g.me.uk/tutor/index.htm is a good starting point (on the left under 'Advanced Topics'). I take this to mean you want to call a method in the class from another method in the class. I assume you do not need to use "staticmethod" and do something like below: class A Method foo: <do something> Method bar < do something including calling foo > Every method in a class *must* take in the instance. The convention is to call this "self". To access another method you use the instance and call the method desired. An unbound function is a function that is not tied to an object/class. This is also why you got "given more than 1 parameters" error. I assume you did not include self in the function definition and Python was passing it. This becomes the following: class A( object ): # I use Python 2.x def foo( self ): # must include self print 'foo' def bar( self ): print 'bar' self.foo() # This uses the instance to call foo Ramit Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology 712 Main Street | Houston, TX 77002 work phone: 713 - 216 - 5423 -- This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor