On Thursday, April 13, 2017 at 11:00:03 AM UTC+5:30, Steven D'Aprano wrote: > Should you call dunder methods (Double leading and trailing UNDERscores) > manually? For example: > > > my_number.__add__(another_number) > > > The short answer is: > > NO! In general, you shouldn't do it. > > > Guido recently commented: > > I agree that one shouldn't call __init__ manually (and in fact Python > always reserves the right to have "undefined" behavior when you > define or use dunder names other than documented). > > > so unless documented as safe to use manually, you should assume that it > is not. > > > https://github.com/python/typing/issues/241#issuecomment-292694838 > > > > This-Public-Service-Announcement-Brought-To-You-By-MyPy-ly y'rs, > > > > > -- > Steve
I believe it was ChrisA who gave a pithy summary of the situation: Dont CALL dunders But its fine to DEFINE them -- https://mail.python.org/mailman/listinfo/python-list