前言:
创建自己的对象来实现内建类型的访问。
一、_getitem_
想使用索引访问元素时,就可以在类中定义这个方法(_getitem_(self, key) )
二、_dict_
对象的属性储存在对象的__dict__属性中,Python中的属性是分层定义的即每一层的__dict__只存储该层新增的属性。子类不需要重复存储父类中的属性。。
三、例子
class Demo:
pass
class Data(Demo):
def __init__(self, text, value):
self.text = text
self.dicta = {self.text: value}
def __getitem__(self, key):
return self.dicta.get(key, \"default\")
# return self.__dict__.get(key, \"100\")
# result = self.text[key].upper()
# return result
def __setitem__(self, key, value):
self.dicta[key] = value
def __len__(self):
pass
data = Data(\'a\', \'b\')
data[\"b\"] = 22
print(data[\"a\"], data[\"b\"])
# __class__-data查找对象对应的类,__ __-Data类的基类
print(data.__class__, data.__dict__)
print(Data.__ s__)
data.text = \'c\'
data.__dict__[\'text\'] = \'d\'
print(data.text)
继续阅读与本文标签相同的文章
下一篇 :
《区块链原理、设计与应用》一3.6 物联网
-
MySQL每组求最值的记录与每组前N条记录
2026-05-18栏目: 教程
-
OCP-052考试题库汇总(55)-CUUG内部解答版
2026-05-18栏目: 教程
-
【云栖活动】架构师、产品经理一对一座谈会/WORKSHOP-已截止
2026-05-18栏目: 教程
-
MySQL入门书籍和方法分享
2026-05-18栏目: 教程
-
树莓派4&阿里云物联网平台上云开发实操
2026-05-18栏目: 教程
