第7章:和弦
cMinor.pitch
相反,它具有一个返回和弦中音高的属性。
cMinor.pitches
再多说一点关于Python的知识。
(<music21.pitch.Pitch C4>, <music21.pitch.Pitch G4>, <music21.pitch.Pitch E-5>)
返回一个元组,那什么是元组?元组类似于列表,不同之处在于列表用方括号括起来,而元组用括号括起来。
元组和列表都可以通过方括号内的数字访问成员:
classicalList.append('Ella Fitzgerald') # she's a classic to me...
classicalList
['Mozart', 'Haydn', 'Saint-George', 'Beethoven', 'Ella Fitzgerald']
classicalList.remove('Mozart')
classicalList
但是元组是不能改变的:
['Haydn', 'Saint-George', 'Beethoven', 'Ella Fitzgerald']
baroqueTuple.append('Miles Davis')
在这种情况下,这真是可惜,因为迈尔斯应该和巴赫在一起!所以我们不应该在那里使用元组。
但是在类中,返回一个元组是有意义的,因为将结果 .pitches
与和弦分开可能会产生歧义 - 你是想改变结果 .pitches
还是改变和弦中的音高?.pitches
在可能引起麻烦或后续出现错误的地方经常返回元组。无论如何,将元组转换成列表或反之亦可很容易:
baroqueList = list(baroqueTuple)
baroqueList.append('Miles Davis')
baroqueList
['Strozzi', 'Bach', 'Handel', 'Telemann', 'Miles Davis']
classicalTuple = tuple