除了__index__()
之外,int
方法的Python对象有哪些示例?
例如,Hex文档状态:
如果
x
不是Python int对象,则必须定义__index__()
返回整数的方法。
这是为了自学。
答案 0 :(得分:2)
大多数情况下,这些类型来自NumPy或SymPy等数学库。这些库有自己的整数类型(有充分的理由),但是由于__index__
,它们的特殊整数可以用作列表索引或像普通整数一样传递给hex
。
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