我正在Raspbian上使用Python3.7。我是Python新手,所以请不要
在example program中,导入一个模块from adafruit_ht16k33 import segments
在segments.py中定义了一个类:
class Seg14x4(HT16K33):
在下面,我使用的类是继承的:class Seg7x4(Seg14x4):
在这些类的example program中,对象display
从这个类实例化:display = segments.Seg7x4(i2c)
Seg14x4类有一个方法print
,在下面的示例程序中使用:display.print(42)
我理解这个object.method(parameter)类型的语法。
我可以在Seg14x4类中找到print方法的定义:def print(self, value):
然而,我使用的示例程序也显示了使用如下索引语法调用的类:display[3] = 'B'
我试图理解在使用display[3] = 'B'
语法时调用什么方法。我在类定义中没有看到类似“default方法”的东西(尽管这可能不是Python的正确术语)。我读了docs.python.org/3.3/tutorial/classes.html,没有看到任何括号内的索引语法示例。
在决定执行哪个方法时,类如何处理像display[6]
这样的索引参数
…变成了
同样地
…变成了
您可以找到这些“特殊方法”名称的列表here。通过在类中实现这些特殊方法,可以使自定义对象的行为更像本机python对象,这些对象可以使用操作符和语法(如索引)进行操作
相关问题 更多 >
编程相关推荐