python – len如何工作?
发布时间:2020-12-20 12:16:17 所属栏目:Python 来源:网络整理
导读:len如何在 Python上工作? 看看这个例子: class INT(int): passclass STR(str): def __len__(self): return INT(42)q = STR('how').__len__()print q,type(q)q = len(STR('how'))print q,type(q) 输出是: 42 class '__main__.INT'42 type 'int' 我如何处理
len如何在
Python上工作?
看看这个例子: class INT(int): pass class STR(str): def __len__(self): return INT(42) q = STR('how').__len__() print q,type(q) q = len(STR('how')) print q,type(q) 输出是: 42 <class '__main__.INT'> 42 <type 'int'> 我如何处理它,以便len返回一个INT实例? 答案表明唯一的解决方案是覆盖len 这是我的替代实现.它似乎没有什么害处. original_len = len def len(o): l = o.__len__() if isinstance(l,int): return l original_len(o) 解决方法
我不认为你可以,除非你写自己的len. 内置len总是返回一个int.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |