[英]How to define [] for class in Python?
我觉得这个问题已经被问到并回答了,但我找不到任何关于主题的内容,所以请原谅我是否如此。 我想在应用于类时定义[]括号的行为,类似于ruby中的def []=()
构造,因此调用Python obj['foo']
实际上会调用某些[](self, what)
方法。 我怎样才能做到这一点?
这些都在文档中: __getitem__
。
这是在Python中使用__getitem___
完成的。
以下是所有运营商的列表: http : //docs.python.org/library/operator.html
使用__getitem__(key)
和__setitem__(key, value)
在类中定义方法
http://docs.python.org/reference/datamodel.html
上面链接中的第3.4节显示了您可以在Python中重载的所有或大多数操作符。 你要重载的是
__getitem__()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.