相关疑难解决方法(0)

Python,子类化不可变类型

我有以下课程:

class MySet(set):

    def __init__(self, arg=None):
        if isinstance(arg, basestring):
            arg = arg.split()
        set.__init__(self, arg)
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作(用字符串而不是字母初始化集合).但是,当我想对set的不可变版本执行相同操作时,该__init__方法似乎被忽略:

class MySet(frozenset):

    def __init__(self, arg=None):
        if isinstance(arg, basestring):
            arg = arg.split()
        frozenset.__init__(self, arg)
Run Code Online (Sandbox Code Playgroud)

我可以实现类似的东西__new__吗?

python set immutability

13
推荐指数
1
解决办法
2528
查看次数

标签 统计

immutability ×1

python ×1

set ×1