我覺得這個問題已經被提出並回答了,但是我在主題上找不到任何東西,所以如果是這樣的話,請原諒。我想在應用於類時定義[]括號的行爲,類似於Ruby中的def []=()
構造,因此調用Python obj['foo']
實際上會調用一些[](self, what)
方法。我怎樣才能做到這一點?如何在Python中爲類定義[]?
3
A
回答
11
這一切都在文檔中:__getitem__
。
7
這是在Python中使用__getitem___
完成的。
這裏是所有運營商的列表: http://docs.python.org/library/operator.html
5
定義在類中的方法與__getitem__(key)
和__setitem__(key, value)
+0
不要忘記'__delitem__' – new123456 2011-05-07 00:08:36
4
http://docs.python.org/reference/datamodel.html
第3.4節在上面的鏈接顯示您的全部或大部分您可以在Python中重載的運算符。你想過載的是
__getitem__()
相關問題
- 1. 如何在Python中定義一個類
- 2. 在Python中定義類
- 3. 如何覆蓋python中的類定義?
- 4. 如何返回python中類的定義?
- 5. 如何使用C API在Python中定義新類型(類)?
- 6. 如何將python類屬性設置爲另一個以前在類定義中定義的類屬性的值?
- 7. 如何在python中爲另一個類定義一個包含類?
- 8. 定義Python類
- 9. 在類定義中定義一個python類「別名」
- 10. 你如何定義在python
- 11. 如何定義在Python
- 12. python類定義Vs C++類定義
- 13. 如何用Boost.Python定義Python元類?
- 14. 如何在模板類定義中構造自定義類型
- 15. 如何在C++中爲同一類定義不同的類型
- 16. python:在基類中定義註冊表
- 17. 在python中定義一個類的「boolness」
- 18. 在Python中定義類方法3.43
- 19. 在類定義中的Python nonlocal聲明
- 20. 在Python中定義強類型變量
- 21. Python:在類中定義對象
- 22. 如何在python中重新定義=?
- 23. 如何在python中定義數組?
- 24. 如何在Python中正確定義一個靜態工具類
- 25. 如何定義在python中保存1000位數的小數類?
- 26. 如何在python中定義一個匿名類型
- 27. 如何在python中創建自定義列表類?
- 28. 如何在Python中一次定義和實例化派生類?
- 29. 如何在Python中正確定義類屬性
- 30. 如何在Python 3.4中定義一個類?
感謝您鏈接整個運營商列表。它避開了我,也許還有其他許多人。 – physicsmichael 2009-10-01 04:36:04