On 2013.06.30 13:46, Andrew Z wrote:
> Hello,
>
> print max(-10, 10)
> 10
> print max('-10', 10)
> -10
>
> My guess max converts string to number bye decoding each of the characters to
> it's ASCII equivalent?
>
> Where can i read more on exactly how the situations like these are dealt with?
This behavior is fixed in Python 3:
>>> max('10', 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() > str()
Python is strongly typed, so it shouldn't magically convert something from one
type to another.
Explicit is better than implicit.
--
CPython 3.3.2 | Windows NT 6.2.9200 / FreeBSD 9.1
--
http://mail.python.org/mailman/listinfo/python-list