#不建议继承list和dict
class Mydict(dict):
def __setitem__(self, key, value):
super().__setitem__(key, value*2)
my_dict = Mydict(one=1)
print(my_dict) #{'one': 1} 继承原声C语言实现的dict会不生效
my_dict["one"] = 1 # {'one': 2} 这个时候才生效
print (my_dict)
from collections import UserDict
class Mydict(UserDict): #如果要继承dict的话,继承collections 下的 UserDict
def __setitem__(self, key, value):
super().__setitem__(key, value*2)
my_dict = Mydict(one=1)
# my_dict["one"] = 1
print (my_dict) # {'one': 2}
from collections import defaultdict
my_dict = defaultdict(dict)
my_value = my_dict["bobby"] #没有这个键时,返回空字典
【python】dict的子类
猜你喜欢
转载自blog.csdn.net/qq_38065133/article/details/82526966
今日推荐
周排行