Tengo una serie de clases de Python en un archivo. Algunas clases hacen referencia a otras.¿Python tiene prototipos de clase (o declaraciones avanzadas)?
Mi código es algo como esto:
class A():
pass
class B():
c = C()
class C():
pass
Tratando de correr que, consigo NameError: name 'C' is not defined
. Bastante, pero ¿hay alguna manera de hacerlo funcionar, o tengo que volver a ordenar manualmente mis clases para acomodarlas? En C++, puedo crear un prototipo de clase. ¿Python tiene un equivalente?
(En realidad estoy jugando con los modelos de Django, pero traté de no complicar las cosas).
FWIW, se llama http://en.wikipedia.org/wiki/Forward_declaration, no como prototipo (http://en.wikipedia.org/wiki/Prototype-based_programming). – Constantin
Se llama prototipo de función en Kernighan y Ritchie, de donde yo la recuerdo. – Mat
Acabo de marcar, no hay "prototipos de clase" en mi copia de K & R;) – Constantin