2009-09-13 29 views
23

Danh sách đầy đủ các phương pháp đặc biệt kép/gạch dưới có thể được sử dụng trong lớp học ở đâu? (Ví dụ, __init__, __new__, __len__, __add__)Tài liệu Python ở đâu cho các phương pháp đặc biệt? (__init__, __new__, __len__, ...)

+3

Nơi bạn không thể tìm tài liệu Python? –

+0

@ Mk12: thẻ là về các câu hỏi không phải về người hỏi. Vui lòng ngừng hoàn nguyên – SilentGhost

+4

@ S.Lott Có lẽ OP không thể tìm thấy phần có liên quan? Nếu bạn không có thứ gì đó mang tính xây dựng để thêm ... –

Trả lời

39

Hãy dành một cái nhìn tại các special method names section trong tài liệu tham khảo ngôn ngữ Python.

+8

Tài liệu chính thức của Python rất tuyệt vời. – Fragsworth

0

Làm quen với chức năng dir.

+0

nhưng điều đó sẽ chỉ làm những gì tôi muốn nếu một lớp học được truyền cho nó thực hiện tất cả các phương pháp đặc biệt. – mk12

2

Đối với ai đó tương đối mới với Python và tài liệu thường không đủ khả năng truy cập (như bản thân mình): ai đó đã viết nice introduction với nhiều ví dụ về cách các phương pháp đặc biệt (ma thuật) hoạt động, cách sử dụng chúng, v.v.

4

Nếu, như tôi, bạn muốn có một danh sách đơn giản, chưa được trang trí, ở đây. Tôi biên soạn nó dựa trên các Python documentation link từ câu trả lời được chấp nhận.

__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

Làm điều này nếu bạn thích đọc tài liệu từ CLI thay vì trình duyệt.

$ pydoc SPECIALMETHODS

0

Python của gạch kép ("dunder") phương pháp này cũng được gọi là DataModel phương pháp vì họ là cốt lõi của mô hình dữ liệu của Python, cung cấp một giao thức để tùy biến (quá tải) phương pháp tích hợp. Đây là lý do tại sao chúng được liệt kê trong phần "Data Model" của tài liệu Python.

Các vấn đề liên quan