【发布时间】:2020-04-20 17:50:01
【问题描述】:
我在 Raspbian 上使用 Python 3.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' 语法时调用的方法。我在类定义中看不到“默认方法”之类的东西。 (尽管这可能不是 Python 的正确术语)。我阅读了 docs.python.org/3.3/tutorial/classes.html 并没有看到任何括号、索引语法的示例。
在确定要执行的方法方面,该类如何处理像 display[6] 这样的索引参数?
【问题讨论】: