python 继承dict自定义类
时间: 2024-09-01 21:00:46 浏览: 54
在Python中,字典(dict)是一个内置的数据结构,它并不支持直接作为类的基类来继承。然而,我们可以利用Python的灵活性创建一个类,使其具有类似字典的行为,通常称为模拟(mimicking)字典。例如,你可以创建一个名为`MyDict`的类,它有一个内部存储字典,并提供一些方法(如`set`, `get`, `pop`等)来进行操作:
```python
class MyDict(dict):
def __init__(self, initial_data=None):
super().__init__(initial_data or {})
def setdefault(self, key, default=None):
return self[key] if key in self else default
def get(self, key, default=None):
try:
return self[key]
except KeyError:
return default
# ... 可能还会添加其他方法,如 pop(key[, default]), update(), clear() 等
my_dict = MyDict({"name": "Alice", "age": 30})
print(my_dict.get("name")) # 输出: Alice
my_dict.setdefault("job", "Engineer") # 如果没有"job",则设置并返回"Engineer"
```
虽然`MyDict`并不是从`dict`直接继承,但它实现了字典的一些常见接口,允许你在不使用原始`dict`类型的情况下,拥有类似的功能。
阅读全文