首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有__index__()方法的Python对象的示例?

具有__index__()方法的Python对象的示例?
EN

Stack Overflow用户
提问于 2016-07-25 16:27:41
回答 1查看 71关注 0票数 1

有哪些Python对象的例子,这些对象有一个__index__()方法而不是int

例如,十六进制文档状态:

如果x不是Python对象,它必须定义一个返回整数的__index__()方法。

这是为了自学。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-25 16:38:17

大多数情况下,这些类型来自数学库,如NumPySymPy。这些库有它们自己的整数类型(出于很好的理由),但是多亏了__index__,它们的特殊整数可以用作列表索引,或者像普通整数一样传递给hex

代码语言:javascript
复制
In [9]: import sympy

In [10]: x = sympy.Integer(1)

In [11]: x  # It looks like a regular 1, but it's not.
Out[11]: 1

In [12]: x/2  # This object has special behavior that makes sense for SymPy...
Out[12]: 1/2

In [13]: [1, 2, 3][x]  # but you can still use it for things like indexing.
Out[13]: 2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38572999

复制
相关文章

相似问题

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