파이썬은 __lt__
, __getattr__
등과 같이 객체에 사용자 정의 기능을 구현하는 많은 방법을 지원합니다. __len__
및 __instancecheck__
과 같은 특정 내장 함수의 수행 방식에 영향을 미치는 마법 방법이 있습니다. 그러나 파이썬의 모든 내장 함수에 대한 마법 방법이 있습니까?파이썬에는 모든 내장 함수에 대한 마법 메서드가 있습니까?
예를 들어 any
함수가 특정 클래스에서 수행하는 방식을 변경하려면 해당 클래스에 __any__
마법 메서드를 지정할 수 있습니까? 이것이 옵션이 아니라면, 특별히 그 클래스에 적용되는 방법에 영향을 줄 수 있습니까? any
? (나는 any
이 반복자에서 항목 I가 __iter__
을 정의 할 수 있습니다를받는 방법에 대한 특별한 기능을 원한다면 실현,하지만 그건 내가 할 찾고 있어요 게 아니에요) any
은 그냥 내 욕망 사용자 정의 기능을 구현하는
주 예를 들어, 나는 명시 적으로 any
에 대한 사용자 지정 기능을 정의하고 싶지 않습니다.
아니, 후킹가 이해되지 않는다 내장 함수 많이 있습니다. 예를 들어'chr()'또는'id()'. –
@MartijnPieters,'chr'에 적절한 의미를 갖습니다. 만약 여러분이 자신의 숫자 타입을 만들고 있다면, int를 사용할 수있는 곳이면 어디에서든지 사용되기를 원합니다. –
@MikeGraham 사실 그것은 그 목적에 훨씬 더 적합한'__int__'을 정의함으로써 이루어질 수 있습니다. – delnan