Hi, Better post complete code. I don't see where self.note_name is defined, and what are these accidentals?
you write: def has_the_same_name(self, note): return self == note but this does not implicitly convert self to a string. You'll have to do in explicitly: use "return str(self) == note" instead. Hope this helps, Almar 2008/9/30 Mr. SpOOn <[EMAIL PROTECTED]> > Hi, > I have this piece of code: > > class Note(): > ... > ... > def has_the_same_name(self, note): > return self == note > > def __str__(self): > return self.note_name + accidentals[self.accidentals] > > __repr__ = __str__ > > if __name__ == '__main__': > n = Note('B') > n2 = Note('B') > print n > print n2 > print n.has_the_same_name(n2) > > I'd expect to get "True", because their string representation is > actually the same, instead the output is: > > B > B > False > > I think I'm missing something stupid. Where am I wrong? > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list