【发布时间】:2016-01-16 11:14:59
【问题描述】:
我想创建一个Band 类和一个Musician 类。我正在尝试将Musician 添加到Band。我正在使用 Python 2.7.6。
class Band(object):
def __init__(self):
self.members = []
def hire_musician(self,member):
self.members.append(member)
print self.members
class Musician(object):
def __init__(self, sounds,isDrummer):
self.sounds = sounds
self.isDrummer = isDrummer
def solo(self, length):
for i in range(length):
print self.sounds[i % len(self.sounds)],
print ""
class Drummer(Musician):
def __init__(self):
super(Drummer, self).__init__(["Hi", "Hat"],True)
Jingle = Band()
ruben = Drummer()
Jingle.hire_musician(ruben)
我得到的错误是
[<__main__.Drummer object at 0x7fb4785cba10>]
我做错了什么?
【问题讨论】:
-
你为什么认为你做错了任何事情?您有一个包含鼓手的列表;你在期待什么?!
-
我希望hire_musician 打印该乐队的音乐家名单。但是,我得到的结果并不是我想要的。
-
这正是它在做什么......再次,你期待什么结果是?
-
啊。如何显示人类可读的成员列表?像鲁本、奈杰尔等。
-
您需要实现
__str__(字符串)和/或__repr__(表示)来告诉Python您希望如何显示实例。但请注意,Ruben 这个名字目前并未存储在实例中的任何位置......
标签: python list class object append