Dear All How can gave the attributes __name__ to a function? class Foo(object):
def __init__(self): steps = {} tmp = open("rnaseq.base.ini","rb") config.readfp(tmp) readsets = parse_illumina_readset_file("/home/mauro/Desktop/readset.csv") @property def steps(self): return [ self.one, self.two, self.fmit, ] def one(self): a = 5 return a def two(self): b = 5 return b def fmit(self): c = 7 return c #@property def show(self): ftp="\n".join([str(idx + 1) + "- " + step.__name__ for idx, step in enumerate(self.steps)]) print ftp It is working In [5]: F = Foo() In [6]: F.show() 1- one 2- two 3- fmit Why if I define the data in the same way I have this error? <ipython-input-83-a3c57022a089> in <module>() ----> 1 rna.show() <ipython-input-79-b1a3b6d221ae> in show(self) 261 #@property 262 def show(self): --> 263 ftp="\n".join([str(idx + 1) + "- " + step.__name__ for idx, step in enumerate(self.steps)]) 264 265 print ftp AttributeError: 'str' object has no attribute '__name__' Here you find all the other code the principal are the same:http://pastebin.com/nYGEiXY4 rna = Rnaseq() rna.show() thanks so much!! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor