Kay Schluehr a écrit :
On 16 Mai, 10:03, "A.T.Hofkamp" <[EMAIL PROTECTED]> wrote:
Hello all,

Yesterday we found the cause of a bug that has caused problems for a long time.
It appeared to be the following:

class A(object):
    pass

print min(1.0, A())

which is accepted by Python even though the A() object is not numerical in
nature.

The cause of this behavior seems to be the compare operation of the object
class.

Is there a way to disable this behavior in Python (other than deriving a new
'object-like' class that doesn't do comparisons?)

Are you sure you don't want to use a statically typed language that
captures all type errors just by inspecting your source code?

This is not necessarily a static vs dynamic typing problem. The following code will raise a TypeError for very good reasons:

   print 1.0 + A()
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to