如何在 Python 类中添加像 union 和 intersect 这样的集合理解?

我想创建一个不继承的类frozenset(除非我可以同时继承tuple并且frozenset不获取TypeError: multiple bases have instance lay-out conflict),我可以在其中使用集合理解,如|, &,<和>运算符。


A = {"first"}

B = {"second"}

C = A | B


class Custom(tuple):

    def __new__(self, pair, **metadata):

        return super(Custom, self).__new__(self,tuple(pair))

    def __init__(self, pair, **metadata):

        self.pair = tuple(pair)

        self.metadata = metadata


pair_1 = Custom(["A","B"])

pair_2 = Custom(["B","C"])

pair_1 | pair_2

我找不到任何执行此操作的“特殊”功能。


守候你守候我
浏览 104回答 1
1回答

ibeautiful

特殊方法都记录在这里;你需要__and__,__or__和__lt__.__gt__
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python