繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM