>>> class MyInt(int):
... def __rmod__(self, other):
... return 42
...
>>> class MyStr(str):
... def __rmod__(self, other):
... return 'wat'
...
>>> 0 % MyInt()
42
>>> '%r' % MyStr()
"''"
int
하위 클래스가이 BinOp를 반사 측면에서 제어 할 수있는 이유는 무엇입니까? str
수 없습니다? 이것은 문서화 된 datamodel과 모순되는 것 같습니다.문자열에 대해 __rmod__가 제대로 작동하지 않는 이유는 무엇입니까?
이 기능을 사용하여 logging
프레임 워크에 중괄호 스타일 핸들러/포맷터를 제공하는 비 관입적이고 하위 호환 가능한 확장을 만들려고했으나 내 트랙에서 나를 막았습니다. 그게 버그 야?
[This] (https://bugs.python.org/issue28598)와 관련된 것 같습니다. – vaultah
Linux의 Python 3.6.0. 'collections.UserString'도 기지로 문제가 있습니다. 기본으로 '바이트'하지 않습니다. – wim