В чем смысл магических методов и почему мы их используем? - PullRequest
0 голосов
/ 21 ноября 2019

Я изучаю питон в настоящее время и недавно встретил термин магические методы. Я узнал, что это более сложные методы, которые мы используем внутри класса, т. Е. __Init__, __add__ или __repr __.

Также они могут использоваться для перегрузки операторов. Как для добавления с помощью __add __.

Однако я все еще не понимаю, что они на самом деле? Все ли методы (двойное подчеркивание) магические методы? Или я что-то упускаю? Если так, почему они называются ВОЛШЕБНЫМИ МЕТОДАМИ, должно быть что-то, чего я не совсем понимаю.


Теперь я знаю, что магические методы используются, чтобы добавить больше функциональных возможностей в класс вместоэкземпляр класса. т.е. объект. Это то, для чего они на самом деле созданы вместе с перегрузкой операторов?

1 Ответ

1 голос
/ 21 ноября 2019

Не указано / упоминается как dun dun метод. Но это dunder , что означает двойное нижнее (подчеркивание).

Рассмотрим dunder в качестве идиомы Python для двойного подчеркивания.

Например: __init__ произносится / читается как dunder init . Вы можете следовать той же схеме фразировки для других магических методов, таких как __add__, например dunder add .

Здесь есть хорошая ссылка на магический метод здесь , который является хорошей точкойдля начала.

...