Python支持很多神奇的方法來實現對象中的自定義功能,例如__lt__
,__getattr__
等。甚至有一些神奇的方法會影響某些內置函數的執行方式,例如__len__
和__instancecheck__
。但是Python中的所有內置函數都有神奇的方法嗎?python對所有內置函數都有神奇的方法嗎?
例如,如果我想改變any
函數對某個類的執行方式,我可以在該類中指定一個__any__
魔法方法嗎?如果這不是一個選項,有什麼方法可以特別影響any
適用於該類的方式嗎? (我知道,如果我想爲any
接收來自迭代的項目我可以定義__iter__
的方式特殊的功能,但是這不是我所希望做的)
請注意,我的願望實現自定義的功能爲any
只是一個例子,我不明確想要爲any
定義自定義功能。
沒有,有大量的內置功能,其中掛鉤是沒有意義的。例如'chr()'或'id()'。 –
@MartijnPieters,如果你正在使用自己的數字類型,你可以在任何可以使用int的地方使用它,它對'chr'有一定的意義。 –
@MikeGraham實際上,可以通過定義'__int__'來完成,這更適合於這個目的。 – delnan