15.12.17 19:04, Ivan Levkivskyi пише:
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).

__init_subclass__ is very different beast, and parallels with it can be confusing. It is automatically decorated with classmethod if it is a regular function implemented in C. The following two examples are totally equivalent:

class A:
    def __init_subclass__(cls): pass

class B:
    @classmethod
    def __init_subclass__(cls): pass

help(A) shows __init_subclass__() as a class method (in 3.7).

But if you implement the class in C you need to make __init_subclass__ a class method.

I think __init_subclass__ should be documented as a class method since it is a class method.

_______________________________________________
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

Reply via email to