通过编写 + 运算符按值添加字典

Adding dictionaries by value by writing + operator

我想为字典编写 + 运算符。

我知道 like here 之前有人问过类似的问题,但我想改为为字典编写 + 运算符。

我知道可以在 Python 中的自定义 class 中重载运算符。但是,我没有找到如何在内置 class 中重载运算符(如果确实可行的话)。此外,由于 + 运算符没有为 Python 中的字典定义,我想知道这是否可能?

我认为这个问题以前没有在 SO 上被问过,因为我找不到类似的问题。也许我只是没有找到合适的术语来搜索它。 Another link that might be useful for that question.

我猜你想做的是对字典实现添加方法——你可能想使用你自己的逻辑,我在这里使用更新方法来添加。您将必须继承并重载 add 方法才能实现这一点。以下是操作方法。

class dicti(dict):
    def __add__(self, obj):
        temp = {}
        temp.update(self)
        temp.update(obj)
        return temp
a = dicti({'a':1,'b':2})
b = dicti({'c':2})
c = a+b
print(a) #outputs -> {'a': 1, 'b': 2}
print(b) #outputs -> {'c':2}
print(c) #outputs -> {'a': 1, 'b': 2, 'c': 2}