math functions with non numeric args

Andrew Berg robotsondrugs at gmail.com
Sun Jun 30 14:53:55 EDT 2013


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



More information about the Python-list mailing list