__getitem__
class MyList: def __init__(self, *args): self.data = list(args) def __getitem__(self, index): return self.data[index] def __len__(self): return len(self.data) my_list = MyList(1, 2, 3, 4, 5) print(my_list[2])
运行结果:
3
在上面的示例中,我们自定义了一个List类MyList,并在其__getitem__方法中实现了通过索引访问元素的功能。当我们创建一个MyList对象并访问索引为2的元素时,会返回数字3,即第三个元素。
MyList
class MyDict: def __init__(self, *args, **kwargs): self.data = dict(*args, **kwargs) def __getitem__(self, key): return self.data[key] def __len__(self): return len(self.data) my_dict = MyDict({'a': 1, 'b': 2, 'c': 3}) print(my_dict['b'])
2
在上面的示例中,我们自定义了一个Dict类MyDict,并在其__getitem__方法中实现了通过键访问元素的功能。当我们创建一个MyDict对象并访问键为’b’的元素时,会返回数字2。
MyDict
__len__
总之,通过重写__getitem__方法,我们可以使自定义类拥有类似列表、字典等内置容器的行为,从而更加灵活地使用和操作对象的元素。
API2 教程
Perf 教程
Native FW 教程
ISP 教程
Sensor 教程
Python 教程
NumPy 教程
Django 教程
Java 教程
JavaScript 教程
jQuery 教程
CSS 教程
PHP 教程
Laravel 教程
TypeScript 教程
WordPress 教程
SQL 教程
SQLite 教程
MySQL 教程
PL/SQL 教程
MongoDB 教程
OpenCV 教程
Excel 教程
Linux命令全集
Linux内核API
LVGL 教程
操作系统 教程
计算机网络 教程
C语言 教程
C++ 教程
Swift 教程
Hadoop 教程
Spark 教程
Scala 教程
Git 教程
Jenkins 教程
ChatGPT 教程
IntelliJ 教程