2009-09-13 3 views
23

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

+3

Где вы не можете найти документацию на Python? –

+0

@ Mk12: Теги касаются вопросов не об аки. Пожалуйста, прекратите возвращаться – SilentGhost

+4

@ S.Lott Возможно, OP просто не смог найти соответствующий раздел? Если у вас нет чего-то конструктивного для добавления ... –

ответ

39

Пожалуйста, обратите внимание на special method names section в справочнике по языку Python.

+8

Официальная документация Python отличная. – Fragsworth

0

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

+0

, но это будет делать только то, что я хотел, если бы класс, переданный ему, реализовал все специальные методы. – mk12

2

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

4

Если, как и я, вы хотите получить простой, незакрашенный список, вот он. Я скомпилировал его на основе Python documentation link из принятого ответа.

__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__ 
1

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

$ pydoc SPECIALMETHODS

0

двойного подчеркивание Пайтона («Dunder») методы также известны как DataModel методы, потому что они лежат в основе модели данных языка Python, обеспечивая протокол для настройки (перегружать) встроенные методы. Именно по этой причине они перечислены в разделе "Data Model" документации Python.

 Смежные вопросы

  • Нет связанных вопросов^_^