python - 为什么在运行时覆盖对象的 __str__ 不起作用?
问题描述
给定以下交互式 Python 解释器会话:
>>> class c(object): pass
>>> o=c()
>>> str(o)
'<__main__.c object at 0x7f865da68820>'
>>> o.__str__ = lambda _: 'test'
>>> str(o)
'<__main__.c object at 0x7f865da68820>'
我希望str
on的第二次调用o
会说'test'
.
我在这里的假设有什么问题,然后如何在运行时覆盖对象的字符串表示形式?
解决方案
推荐阅读
- reporting-services - SSRS 我有一个列到达日期,我需要获取 5 个月及之前到达的记录
- mysql - 复杂查询 SQL,带有嵌套查询
- python - vscode远程容器中的自动完成python
- node.js - ReferenceError: primordials is not defined 安装 Semantic UI 时出现错误
- angular - Angular9:类型'可观察的
>' 不可分配给类型 'Observable ' - python - 如何在 Tensorflow 中重新批处理张量?
- spring - spring 云流 kafka 消费者 clientId 匿名
- c# - C# 库如何检测 app.config 是否存在,如果不存在则手动加载配置文件?
- java - 如何按参数运行不同的测试套件?
- javascript - 如何解析通过 Axios GET 请求获取的对象 Node.js Express