【问题标题】:Change the __str__ function of frozenset (or any other native type)更改frozenset(或任何其他本机类型)的 __str__ 函数
【发布时间】:2022-01-22 19:42:01
【问题描述】:

我正在使用frozensets。

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

但是我有很多嵌套的frozensets,我发现这个打印很长而且很难阅读。

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

【问题讨论】:

  • 是什么阻止你继承frozenset?如果您尝试过,您遇到了哪些问题?

标签: python printing frozenset


【解决方案1】:

不建议直接修改原生代码。

您可以定义新函数来打印frozenset 或新类继承frozenset

如果非要替换内置的frozenset,可以这样试试

import builtins


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


builtins.frozenset = _frozenset

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

但这可能会导致意外错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    相关资源
    最近更新 更多