【发布时间】:2010-12-26 06:43:09
【问题描述】:
The Data Model section of the Python 3.2 documentation 为__int__ 和__index__ 方法提供以下描述:
object.__int__(self)调用以实现内置[函数
int()]。应该返回 [一个整数]。
object.__index__(self)调用以实现
operator.index()。每当 Python 需要整数对象时也会调用(例如在切片中,或在内置的bin()、hex()和oct()函数中)。必须返回一个整数。
我知道它们用于不同的目的,但我一直无法弄清楚为什么需要两种不同的方法。这些方法有什么区别?在我的课程中使用别名 __index__ = __int__ 是否安全?
【问题讨论】: