On 15 December 2017 at 17:47, Yury Selivanov <yselivanov...@gmail.com> wrote:
> 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. > Good point! Pure Python will be the primary use case and we have another precedent for "automatic" class method: __init_subclass__ (it does not need to be decorated). > 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. > OK, then documenting this "recipe" (METH_STATIC plus tuple unpacking) should be sufficient. -- Ivan
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com