【5.3】dict的子类

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # 不建议继承list和dict
 4 from collections import UserDict
 5 from collections import defaultdict
 6 
 7 
 8 class MyDict1(dict):
 9     def __setitem__(self, key, value):
10         super().__setitem__(key, value*2)
11 
12 
13 my_dict1 = MyDict1(one=1)
14 print(my_dict1)
15 my_dict1['one'] = 1
16 print(my_dict1)
17 
18 # 建议继承UserDict
19 
20 
21 class MyDict2(UserDict):
22     def __setitem__(self, key, value):
23         super().__setitem__(key, value*2)
24 
25 
26 my_dict2 = MyDict2(one=1)
27 print(my_dict2)
28 
29 # defaultdict
30 my_dict3 = defaultdict(dict)
31 value = my_dict3['one']
32 print(my_dict3)
{'one': 1}
{'one': 2}
{'one': 2}
defaultdict(<class 'dict'>, {'one': {}})

  

猜你喜欢

转载自www.cnblogs.com/zydeboke/p/11250604.html
5.3