On 13.04.17 08:29, 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
__init__ is perhaps the most called dunder method. It is often called from the __init__ method of subclasses.
__add__ also can be called from other __add__, __iadd__ or __radd__. -- https://mail.python.org/mailman/listinfo/python-list
