Why doesn’t 2.__add__(3) work in Python?

2. is parsed as a float, so 2.__add__ is a SyntaxError.

You can evaluate

(2).__add__(3) instead.


In [254]: (2).__add__(3)
Out[254]: 5

Leave a Comment