staticmethod que method may classmethod classes python class methods built-in

method - que es cls en python



¿Cómo se implementan los métodos, `classmethod` y` staticmethod` en Python? (1)

¿En qué punto los métodos en Python adquieren una propiedad get ? —¿En cuanto estén definidos en la clase? ¿Por qué Python me permite definir un método sin ningún argumento (ni siquiera un primer argumento self )?

Sé cómo usar el classmethod y el staticmethod , y sé que son funciones integradas, pero ¿qué sucede con una función que está tan decorada?

Esencialmente, me pregunto sobre la "magia" que ocurre entre la definición de clase y la construcción de clase.


Mira esto.

http://docs.python.org/howto/descriptor.html#static-methods-and-class-methods

También puede echar un vistazo al código fuente de los objetos de clase y de método estático, en funcobject.c:

http://hg.python.org/cpython/file/69b416cd1727/Objects/funcobject.c

La definición del objeto del método de clase comienza en la línea 694, mientras que la definición del objeto del método estático comienza en la línea 852. (Me parece algo gracioso que tengan elementos titulados "método" en funcobject.c cuando methodobject.c también existe).