您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python,子类化不可变类型

Python,子类化不可变类型

是的,您需要重写__new__特殊方法

class MySet(frozenset):

    def __new__(cls, *args):
        if args and isinstance (args[0], basestring):
            args = (args[0].split (),) + args[1:]
        return super (MySet, cls).__new__(cls, *args)

print MySet ('foo bar baz')

输出为:

MySet(['baz', 'foo', 'bar'])
python 2022/1/1 18:42:03 有268人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶