[python] 类列举自己的成员,只显示数据成员,不显示函数成员

来源:互联网 发布:饥荒修改数据手杖 编辑:程序博客网 时间:2024/06/11 05:27
#-*- coding: UTF-8 -*- # 使用了一个类来存储数据,每一次增加一个成员,在输出调试信息时都是一次麻烦的事,# 于是想到了这个办法来减少一些小麻烦。# 不过,这里有一个很糟糕的地方,就是用了eval。建议要用在产品中的话,# 要做好相关的安检工作# 用来辅助自己提高效率就好了。# # 有人有更好的方法那就真是太棒了。class Data:    def __init__(self):        self.ID = ''        self.Title = ''        self.Note = ''        return   def __str__(self):          TempList = [x for x in dir(self) if not x.startswith('_')]          TempList = [(x, str(eval('self.%s' % x))) for x in TempList]          TempList = ['%20s:\t%s' % (x[0], x[1]) for x in TempList]        return '\r\n'.join(TempList)# 如果类里有函数的话,想了一个比较笨的办法来解决了# 只是判断是不是函数就好了。class Data2:    def __init__(self):        self.ID = ''        self.Title = ''        self.Note = ''        return    def GetData(self):        return ''    def __str__(self):            TempList = [x for x in dir(self) if not x.startswith('_')]        TempList = [(x, str(eval('self.%s' % x))) for x in TempList]        TempList = [x for x in TempList if x[1].find('<bound method')==-1]        TempList = ['%20s:\t%s' % (x[0], x[1]) for x in TempList]        return '\r\n'.join(TempList)