如果Python对象是“可订阅的”或不是,这意味着什么?

2024-04-26 13:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

在我看来,以下是唯一可订阅的内置组件:

string:  "foobar"[3] == "b"
tuple:   (1,2,3,4)[3] == 4
list:    [1,2,3,4][3] == 4
dict:    {"a":1, "b":2, "c":3}["c"] == 3

但是mipadi's answer是正确的-任何实现__getitem__的类都是可订阅的

它基本上意味着对象实现了__getitem__()方法。换句话说,它描述的对象是“容器”,也就是说它们包含其他对象。这包括列表、元组和字典。

可编写脚本的对象是记录对其执行的操作的对象,它可以将这些操作存储为可重播的“脚本”。

例如,请参见:Application Scripting Framework

现在,如果Alistair不知道他所问的是什么,并且真正的意思是“可订阅”对象(由其他人编辑),那么(正如mipadi也回答的那样),这是正确的:

可预订对象是实现__getitem__特殊方法(思考列表、字典)的任何对象。

相关问题 更多 >