如何在Python中为类定义[]?

Flu*_*ffy 3 python

我觉得这个问题已经被问到并回答了,但我找不到任何关于主题的内容,所以请原谅我是否如此.我想在应用于类时定义[]括号的行为,类似于def []=()ruby中的构造,因此调用Python obj['foo']实际上会调用某个[](self, what)方法.我怎样才能做到这一点?

Cat*_*lus 11

一切都在文档中:__getitem__.


Len*_*bro 7

这是__getitem___在Python中完成的.

以下是所有运营商的列表:http: //docs.python.org/library/operator.html


Aym*_*man 5

__getitem__(key)和定义类中的方法__setitem__(key, value)