У меня есть следующий класс:
class MySet(set):
def __init__(self, arg=None):
if isinstance(arg, basestring):
arg = arg.split()
set.__init__(self, arg)
Это работает как ожидалось (инициализация набора со словами строки, а не с буквами).Однако, когда я хочу сделать то же самое с неизменяемой версией набора, метод __init__
, кажется, игнорируется:
class MySet(frozenset):
def __init__(self, arg=None):
if isinstance(arg, basestring):
arg = arg.split()
frozenset.__init__(self, arg)
Можно ли добиться чего-то подобного с __new__
?