掌握Python类级别的高级特性
1. 内置类型的子类化
Python允许我们从内置类型(如 list 、 tuple 或 dict )派生新类,以实现几乎与内置类型相似的行为。这种子类化不仅可以简化代码,还可以添加特定功能。例如,我们可以创建一个不允许重复值的字典 distinctdict ,确保字典中不会有重复的键值对。
实现 distinctdict
class DistinctError(Exception):
pass
class distinctdict(dict):
def __setitem__(self, key, value):
try:
value_index = self.values().index(value)
existing_key = self.keys()[value_index]
if existing_key != key:
raise DistinctError(f"此值已存在。对于 '{self[existing_key]}'")
except ValueError:
pass
super(distinctdict, self).__setitem__(key, value)
my_dict = distinctdict()
my_
掌握Python类级别的高级特性
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



