I recently discovered a bug in one of my programs that surprised me because I thought Python's dynamic type checking would have caught it.
Suppose I have a function that returns an integer, such as def numItems: return len(self.items) Now I want to do a test like this: if object.numItems() > 2: <do something> But suppose I mistakenly leave off the parentheses: if object.numItems > 2: <do something> I would have thought that Python would choke on this, but it doesn't. Apparently, Python converts the operands to a common type, but that seems risky to me. Is there a good reason for allowing a function to be compared to an integer? Thanks. -- http://mail.python.org/mailman/listinfo/python-list