is this what you want (python 3.0)? >>> class Colours: ... def __init__(self): ... for colour in ['red', 'blue']: ... setattr(self, colour, lambda value, c=colour: self.write(value, c)) ... def write(self, value, colour): ... print(value, colour) ... >>> c = Colours() >>> c.red(1) 1 red
andrew alex goretoy wrote: > I'm doing this in my code, how to make it define all this functions for me > with lambda, I've been up for a while and cant seem to figure it out, > whats > the most efficient way to do it? with lambda? how? thx > > def red(self,value,color='red',level='INFO'): > self.write(value,color,level) > def gold(self,value,color='gold',level='INFO'): > self.write(value,color,level) > def green(self,value,color='green',level='INFO'): > self.write(value,color,level) > def blue(self,value,color='blue',level='INFO'): > self.write(value,color,level) > def yellow(self,value,color='yellow',level='INFO'): > self.write(value,color,level) > def purple(self,value,color='purple',level='INFO'): > self.write(value,color,level) > def w_red(self,value,color='white_on_red',level='INFO'): > self.write(value,color,level) > def w_gold(self,value,color='white_on_gold',level='INFO'): > self.write(value,color,level) > def w(self,value,color="red",level="INFO"): > self.write(value,color,level) > def write(self,value,color="red",level="INFO"): > """ > write - output message,take value string or list,color="" > """ > self._hero(value,color,level) > > > -Alex Goretoy > http://www.goretoy.com > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list