Я определяю свой собственный набор классов, используя collections.Set
:
class MySet(collections.Set):
def __init__(self, data=frozenset()):
self._set = frozenset(data)
__len__ = lambda self: self._set.__len__()
__iter__ = lambda self: self._set.__iter__()
__contains__ = lambda self: self._set.__contains__()
Я хочу наследовать метод frozenset.union
. С помощью этого метода вы можете сделать следующее:
>>> frozenset.union(frozenset('ab'), frozenset('bc'))
frozenset(['a', 'c', 'b'])
>>> frozenset.union(*[frozenset('ab'), frozenset('bc')])
frozenset(['a', 'c', 'b'])
Я хочу иметь возможность сделать следующее:
>>> MySet.union(MySet('ab'), MySet('bc'))
MySet(['a', 'c', 'b'])
>>> MySet.union(*[MySet('ab'), MySet('bc')])
MySet(['a', 'c', 'b'])
Как мне лучше поступить об этом?