面向对象(二)
内置方法(一)
- 当对对象按照字典操作时,会自动触发相关方法
- 示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26class Person:
# 当对象按照字典设置键值对时,会自动触发该方法
def __setitem__(self, key, value):
# print(key, value)
self.__dict__[key] = value
# 当对象按照字典操作根据键获取值时,会自动触发该方法
def __getitem__(self, item):
print(item)
return self.__dict__[item]
# 当做字典操作,删除键值对时,会自动触发该方法
def __delitem__(self, key):
del self.__dict__[key]
p = Person()
p['name'] = 'xiaoming'
print(p.name)
# 通过字典方式添加的键值对,可以通过属性的方式获取
# print(p['name'])
# print(p.__dict__)
del p['name']
# print(p.name)