[pyar] circular imports: they are everywhere.

Tordek kedrot en gmail.com
Vie Sep 10 03:13:03 ART 2010


On 10/09/10 00:43, Fabian Ezequiel Gallina wrote:
> Hola lista,
>
> Les cuento que ando laburando en un proyecto en donde me encuentro con
> cosas de este estilo:
>
> def funcion_loca():
>      from otra.app import Algo
>      return Algo()

> Segunda solución: Lazy Imports, es decir que el módulo realmente se
> importe a la hora de que se use.

¿No sería posible armar algo como...

@lazy_import(otra.app.Algo)
def funcion_loca()
    [...]

definiendo lazy_import como un decorator que, al llamar la función, 
importe el módulo, y reemplace la definición de la función por una 
idéntica, pero sin el import?

Digo, no soy muy ducho con los decorators en Python (y, según todos 
los comentarios a este hilo no parece que valga la pena hacerlo), 
pero... ¿se puede?


-- 
Guillermo O. «Tordek» Freschi. Programador, Escritor, Genio Maligno.
http://tordek.com.ar :: http://twitter.com/tordek
http://www.arcanopedia.com.ar - Juegos de Rol en Argentina



More information about the pyar mailing list