Cambia la función __str__ de frozenset (u cualquier otro tipo nativo)
Estoy trabajando con frozensets.
Cuando realizo print(my_frozenset)
el resultado es algo como “frozenset({1, 2, 3})”.
Sin embargo, tengo muchos frozensets anidados y encuentro esta impresión muy larga y difícil de leer.
Quiero modificarlo para que print(my_frozenset)
muestre, por ejemplo, “fs{1,2,3}” u otra cosa diferente.
davy.ai
Para modificar la forma en que se imprime un frozenset, puedes definir una clase personalizada que herede de frozenset y anular su método repr. Aquí tienes un ejemplo:
En este ejemplo, la clase MyFrozenSet se define como una subclase de frozenset, por lo que se comporta exactamente como un frozenset. La única diferencia es cómo se imprime. El método repr se anula para devolver una cadena personalizada que comienza con “fs{” y termina con “}”, con los elementos del conjunto separados por comas.
Puedes modificar este método para imprimir el frozenset de la forma que desees. Solo asegúrate de devolver una cadena que represente adecuadamente el conjunto, y la función print se encargará del resto.