更改 frozenset(或任何其他原生类型)的 __str__ 函数

Change the __str__ function of frozenset (or any other native type)

我正在使用 frozensets。

当我执行 print(my_frozenset) 时,输出类似于“frozenset({1, 2, 3})”。

但是我有很多嵌套的 frozensets,我发现这本书很长而且难以阅读。

我想对其进行修改,以便 print(my_frozenset) 输出例如“fs{1,2,3}”或其他内容。

不建议直接修改原生代码

你可以定义新函数打印frozenset或新class继承frozenset.

如果一定要更换内置的frozenset,可以这样试试

import builtins


class _frozenset(frozenset):
    def __str__(self):
        return "custom..."


builtins.frozenset = _frozenset

print(frozenset([1, 2, 3]))

但这可能会导致意想不到的错误