[Python-Dev] Make __class_getitem__ a class method
Yury Selivanov
yselivanov.ml at gmail.com
Fri Dec 15 11:47:12 EST 2017
Shouldn't we optimize the usability for pure-Python first, and then for C API?
Right now we have the '__new__' magic method, which isn't a
@classmethod. Making '__class_getitem__' a @classmethod will confuse
regular Python users. For example:
class Foo:
def __new__(cls, ...): pass
@classmethod
def __class_getitem__(cls, item): pass
To me it makes sense that type methods that are supposed to be called
on type by the Python interpreter don't need the classmethod
decorator.
METH_STATIC is a public working API, and in my opinion it's totally
fine if we use it. It's not even hard to use it, it's just *mildly*
inconvenient at most.
Yury
More information about the Python-Dev
mailing list