methods and class methods
I just learned python programming and is wondering how to change a method to a class method. Also what are the differences between a method and class method. Thanks in advance - Zach (Freshman student in High school) -- http://mail.python.org/mailman/listinfo/python-list
Re: methods and class methods
I just learned python programming and is wondering how to change a method to a class method. class x( object ): @classmethod i_will_be_a_class_method( cls ): pass Also what are the differences between a method and class method. A class method receives the class as its first argument while an ordinary method receives the instance as its first argument. This fact is reflected in the convention that for class methods the first argument typically is called cls while for ordinary methods it's called self. Cheers, Daniel -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list
calling class methods from class methods, help?
I've a multithreaded program in which I've to call class methods from class methods. Here is how my code look like (excluding imports),. Any help is highly appreciated. #!/usr/bin/env python class Requests(Thread): def __init__(self, times): Thread.__init__(self) self.times=times self.name='' def run(self): sites=['example.com','example1.com'] for i in range(0,self.times): for site in sites: self.name = site self.html=SendRequest() # This line throws an error def SendRequest(self): #A class method # it sends a request to website using mechanize library def startThis(times,reqs): threads=[] for i in range (0,reqs): owner=Requests(times) owner.start() threads.append(owner) for thread in threads: thread.join() if __name__==__main__: #I want to create 2 threads, each of them will execute twice. At least that is the intention. startThis(2,2) -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
On Mar 11, 10:08 pm, Oltmans rolf.oltm...@gmail.com wrote: self.html=SendRequest() # This line throws an error and error says NameError: global name '_Requests_SendRequest' is not defined. -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
Oltmans wrote: I've a multithreaded program in which I've to call class methods from class methods. Here is how my code look like (excluding imports),. Any help is highly appreciated. #!/usr/bin/env python class Requests(Thread): def __init__(self, times): Thread.__init__(self) self.times=times self.name='' def run(self): sites=['example.com','example1.com'] for i in range(0,self.times): for site in sites: self.name = site self.html=SendRequest() # This line throws an error Should be: self.html = self.SendRequest() def SendRequest(self): #A class method # it sends a request to website using mechanize library def startThis(times,reqs): threads=[] for i in range (0,reqs): owner=Requests(times) owner.start() threads.append(owner) for thread in threads: thread.join() if __name__==__main__: #I want to create 2 threads, each of them will execute twice. At least that is the intention. startThis(2,2) -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
On Wed, Mar 11, 2009 at 10:08 AM, Oltmans rolf.oltm...@gmail.com wrote: I've a multithreaded program in which I've to call class methods from class methods. Um, those are instance methods, not class methods. Class methods take the class itself as an argument (the parameter is typically named cls instead of self) and are defined with the help of the classmethod() function, which is not the case in your code. Cheers, Chris -- I have a blog: http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
Oltmans rolf.oltm...@gmail.com (O) escribió: O I've a multithreaded program in which I've to call class methods from O class methods. Here is how my code look like (excluding imports),. Any O help is highly appreciated. O #!/usr/bin/env python O class Requests(Thread): O def __init__(self, times): O Thread.__init__(self) O self.times=times O self.name='' O def run(self): O sites=['example.com','example1.com'] O for i in range(0,self.times): O for site in sites: O self.name = site O self.html=SendRequest() # This line throws an error self.html=self.SendRequest() -- Piet van Oostrum p...@cs.uu.nl URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4] Private email: p...@vanoostrum.org -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
On Mar 11, 11:00 pm, Piet van Oostrum p...@cs.uu.nl wrote: self.html=self.SendRequest() -- Thank you, everyone, for the help. Appreciate that. Piet van Oostrum p...@cs.uu.nl URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4] Private email: p...@vanoostrum.org- Hide quoted text - - Show quoted text - -- http://mail.python.org/mailman/listinfo/python-list
Re: calling class methods from class methods, help?
Oltmans wrote: I've a multithreaded program in which I've to call class methods from class methods. Here is how my code look like (excluding imports),. Any help is highly appreciated. #!/usr/bin/env python class Requests(Thread): def __init__(self, times): Thread.__init__(self) self.times=times self.name='' def run(self): sites=['example.com','example1.com'] for i in range(0,self.times): for site in sites: self.name = site self.html=SendRequest() # This line throws an error You should (almost) always display the error traceback. I suspect NameError: global 'SendRequest' not found. You need Requests.SendRequest. but... def SendRequest(self): #A class method If it were, then call the parameter 'cls', not 'self'. But it is not a classmethod without @classmethod decorator. but... # it sends a request to website using mechanize library Does this need to send the class rather than instance object to the website? If not, better to leave it an instance method and use self.SendRequest above. If the request uses instance variables, then it *must* be an instance method! def startThis(times,reqs): threads=[] for i in range (0,reqs): owner=Requests(times) owner.start() threads.append(owner) for thread in threads: thread.join() if __name__==__main__: #I want to create 2 threads, each of them will execute twice. At least that is the intention. startThis(2,2) -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list