This is definitely bad advice and goes against the python data model. As far as I am concerned, dunder methods are key to idiomatic python.
https://docs.python.org/3/reference/lexical_analysis.html#re...
This has been in the specification since, at latest, Python 2.0, and perhaps earlier.
Any you see defined outside the Python data model are entirely historical, written in contradiction to the spec. Many of them also can't be changed because there is so much code in the wild that depends on them.
*Do not define your own dunder methods!*