class AttrDisplay:
def gatherAttrs(self):
return ",".join("{}={}"
.format(k, getattr(self, k))
for k in self.__dict__.keys())
# attrs = []
# for k in self.__dict__.keys():
# item = "{}={}".format(k, getattr(self, k))
# attrs.append(item)
# return attrs
# for k in self.__dict__.keys():
# attrs.append(str(k) + "=" + str(self.__dict__[k]))
# return ",".join(attrs) if len(attrs) else 'no attr'
def __str__(self):
return "[{}:{}]".format(self.__class__.__name__, self.gatherAttrs())
|
class Bean(AttrDisplay):
def __init__(self, id=1024, name='Jack Chen', job='Actor'):
self.id = id
self.name = name
self.job = job
def doSomething(self):
return self.name + " doing something now ..."
if __name__ == '__main__':
bob = Bean()
print(bob)
# [Bean:id=1024,name=Jack Chen,job=Actor]
|