首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不修改类的情况下,让len()在类的不同实例上使用不同的方法?

如何在不修改类的情况下,让len()在类的不同实例上使用不同的方法?
EN

Stack Overflow用户
提问于 2016-04-12 03:01:53
回答 5查看 1.7K关注 0票数 19

有没有一种方法可以让len()在不修改类的情况下使用实例方法?

我的问题示例:

代码语言:javascript
运行
复制
>>> class A(object):
...     pass
...
>>> a = A()
>>> a.__len__ = lambda: 2
>>> a.__len__()
2
>>> len(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: object of type 'A' has no len()

注意:

  • 不同的A实例将附加不同的__len__方法
  • 我无法更改类A
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36557079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档