Где документация Python для специальных методов? (__init__, __new__, __len__, )

Где полный список специальных методов двойного подчеркивания/дандера, которые можно использовать в классах? (например, __init__, __new__, __len__, __add__)


person mk12    schedule 13.09.2009    source источник
comment
@ Mk12: теги предназначены для вопросов, а не для тех, кто задает вопросы. Пожалуйста, перестань возвращаться   -  person SilentGhost    schedule 14.09.2009
comment
Я пытаюсь понять, что означает вопрос. Они хорошо описаны в документации Python. Поскольку эти вещи хорошо задокументированы, я пытаюсь понять, что означает вопрос.   -  person S.Lott    schedule 23.01.2012


Ответы (9)


Обратите внимание на раздел имен специальных методов в Python языковая справка.

person Martin Geisler    schedule 13.09.2009

Если, как и я, вам нужен простой, ничем не украшенный список, вот он. Я скомпилировал его на основе ссылки на документацию по Python из принятый ответ.

__abs__
__add__
__and__
__call__
__class__
__cmp__
__coerce__
__complex__
__contains__
__del__
__delattr__
__delete__
__delitem__
__delslice__
__dict__
__div__
__divmod__
__eq__
__float__
__floordiv__
__ge__
__get__
__getattr__
__getattribute__
__getitem__
__getslice__
__gt__
__hash__
__hex__
__iadd__
__iand__
__idiv__
__ifloordiv__
__ilshift__
__imod__
__imul__
__index__
__init__
__instancecheck__
__int__
__invert__
__ior__
__ipow__
__irshift__
__isub__
__iter__
__itruediv__
__ixor__
__le__
__len__
__long__
__lshift__
__lt__
__metaclass__
__mod__
__mro__
__mul__
__ne__
__neg__
__new__
__nonzero__
__oct__
__or__
__pos__
__pow__
__radd__
__rand__
__rcmp__
__rdiv__
__rdivmod__
__repr__
__reversed__
__rfloordiv__
__rlshift__
__rmod__
__rmul__
__ror__
__rpow__
__rrshift__
__rshift__
__rsub__
__rtruediv__
__rxor__
__set__
__setattr__
__setitem__
__setslice__
__slots__
__str__
__sub__
__subclasscheck__
__truediv__
__unicode__
__weakref__
__xor__
person Justin    schedule 11.05.2016
comment
На самом деле некоторые из них, например __dict__, не являются методами. - person Braden Best; 26.08.2018



Сделайте это, если вы предпочитаете читать документацию из CLI, а не из браузера.

$ pydoc SPECIALMETHODS

person IcarianComplex    schedule 16.06.2016

См. Краткий справочник по Python.

person Elazar Leibovich    schedule 13.09.2009

Для тех, кто относительно плохо знаком с Python и для кого документация часто недостаточно доступна (как я): кто-то написал хорошее введение с большим количеством примеров того, как работают специальные (магические) методы, как их использовать и т.д.

person Stefan van den Akker    schedule 06.09.2013

Методы двойного подчеркивания ("dunder") Python также известны как методы datamodel, поскольку они лежат в основе модели данных Python, предоставляя протокол для настройки (перегрузки) встроенных методов. По этой причине они перечислены в "Модель данных". раздел документации Python.

person user2314737    schedule 03.09.2017

Ознакомьтесь с функцией dir.

person TheOne    schedule 13.09.2009
comment
но это сделало бы только то, что я хотел, если бы класс, переданный ему, реализовал все специальные методы. - person mk12; 14.09.2009