> Here's the code for PyNumber_Remainder: > > PyObject * > PyNumber_Remainder(PyObject *v, PyObject *w) > { > if (PyString_Check(v)) > return PyString_Format(v, w); > #ifdef Py_USING_UNICODE > else if (PyUnicode_Check(v)) > return PyUnicode_Format(v, w); > #endif > return binary_op(v, w, NB_SLOT(nb_remainder), "%"); > } > > Is there any good reason why str.__mod__ != PyString_Format? I want to > make a subclass of str that overrides the format operator. I guess one > side effect would be that PyNumber_Check(astring) would start returning > true. Good catch. I think this is a relic from before str and unicode were subclassable. > Should I file a bug saying "can't override __mod__ on str and unicode > subclasses"? I guess the fix would be to check for nb_remainder first > and then fallback to PyString_Format or PyUnicode_Format. Yes please. If you can provide a fix, make it a patch. Anyway assign it to me. --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4