音乐乐器目录与乐谱表示的综合指南
1. 乐器衔接与数据访问
1.1 乐器衔接
在乐器基础类( InstrumentBase )中包含了一个衔接列表,结合父引用,为累积乐器的完整衔接集提供了一种简便方法。具体操作是先获取乐器自身的衔接,再沿着父引用到乐器家族,添加那里找到的衔接,接着指向乐器类别,依此类推。以下是 InstrumentBase 类中的实现和技术展示:
class InstrumentBase(object):
def __init__(self, name, parent=None):
self.__name = name
self.__parent = parent
self.__articulations = []
def get_native_articulations(self):
return list(self.__articulations) # 列表是可变的,但每个衔接不可变
def get_articulations(self):
art_list = self.get_native_articulations()
parent = self.parent
while parent is not None:
art_list.extend(parent.get_native_articulations())
parent = parent
超级会员免费看
订阅专栏 解锁全文
595

被折叠的 条评论
为什么被折叠?



