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__, ...)
Trả lời
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.
Tài liệu chính thức của Python rất tuyệt vời. – Fragsworth
Lặn vào Python có an excellent appendix cho chúng.
Làm quen với chức năng dir.
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
Đố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.
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__
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
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.
- 1. Python (và Python C API): __new__ so với __init__
- 2. __new__ Overriding và __init__ bằng Python
- 3. Phương pháp đặc biệt nào bỏ qua __getattribute__ bằng Python?
- 4. Tài liệu cho phương thức values () của Enum ở đâu?
- 5. Lớp Python và phương pháp __init__
- 6. Tài liệu cho Fragment.onCreateAnimator() ở đâu?
- 7. Tài liệu Time.advance ở đâu?
- 8. Tại sao __init__ không được gọi sau __new__ SOMETIMES
- 9. Tài liệu MOQ ở đâu?
- 10. Tài liệu NUnit.Mocks ở đâu?
- 11. Tài liệu chính thức cho các loại phương thức CVOpenGLESTexture ở đâu?
- 12. Tôi có thể tìm danh sách tất cả các đặc điểm đặc biệt ở Scala ở đâu?
- 13. Quy ước "tự" của Python __init__ so với phương pháp
- 14. Các phương thức __init__ tiết trong Python có tệ không?
- 15. Tôi có thể tìm tài liệu vtk cho python ở đâu?
- 16. Tài liệu API Castle Bouncy ở đâu?
- 17. Tài liệu jQuery .sort() ở đâu?
- 18. Tài liệu API Tesseract ở đâu?
- 19. Tài liệu cho API iTunes trên OS X ở đâu?
- 20. Tôi có thể tìm tài liệu cho BlueZ ở đâu?
- 21. Tên của cú pháp cú pháp này là gì và tài liệu được viết ở đâu?
- 22. Lớp ghi đè của Python (không phải ví dụ) Các phương pháp đặc biệt
- 23. ADO.NET | DataDirectory | tài liệu này ở đâu?
- 24. python Idiomatic - tài sản hoặc phương pháp?
- 25. Trang tài liệu cho các loại dữ liệu ActiveRecord ở đâu?
- 26. phương pháp đặc biệt Overriding trên một thể hiện
- 27. Đặc tính mô-đun tài liệu Sphinx
- 28. Lập trình tạo các phương thức đặc biệt số học bằng Python, (aka hàm factory HOWTO)
- 29. Sử dụng phương pháp __call__ của metaclass thay vì __new__?
- 30. Bao gồm cụ thể đặc biệt-phương pháp trong nhân sư
Nơi bạn không thể tìm tài liệu Python? –
@ 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
@ 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 ... –