Python支持很多神奇的方法来实现对象中的自定义功能,例如__lt__
,__getattr__
等。甚至有一些神奇的方法会影响某些内置函数的执行方式,例如__len__
和__instancecheck__
。但是Python中的所有内置函数都有神奇的方法吗?python对所有内置函数都有神奇的方法吗?
例如,如果我想改变any
函数对某个类的执行方式,我可以在该类中指定一个__any__
魔法方法吗?如果这不是一个选项,有什么方法可以特别影响any
适用于该类的方式吗? (我知道,如果我想为any
接收来自迭代的项目我可以定义__iter__
的方式特殊的功能,但是这不是我所希望做的)
请注意,我的愿望实现自定义的功能为any
只是一个例子,我不明确想要为any
定义自定义功能。
没有,有大量的内置功能,其中挂钩是没有意义的。例如'chr()'或'id()'。 –
@MartijnPieters,如果你正在使用自己的数字类型,你可以在任何可以使用int的地方使用它,它对'chr'有一定的意义。 –
@MikeGraham实际上,可以通过定义'__int__'来完成,这更适合于这个目的。 – delnan