我试图了解订阅方法和简单地调用属性之间的技术和理念上的区别。例如,在熊猫中,您可以像这样df['col_name']
进行预订或将其称为属性df.col_name
来调用列。
尽管我认为熊猫在某种意义上是独一无二的,因为对于大多数对象而言,这些方法是不可互换的,但我不理解为什么这两种方法都存在。例如,为什么调用列表项my_list.0
但my_list[0]
没问题是不合适的。或者为什么大多数用户定义的类默认情况下是不可订阅的。有人可以指出这两种方法有哪些不同的用例,以及为什么在某些情况下更可取?
此外,几乎每个Python OOP教程都详细介绍了如何定义类属性并调用它。但是我还没有看到关于如何使对象成为可订阅的解释。通常是通过从dict继承来完成的吗?
谢谢。