poo funciona def como argument python self-reference

funciona - Python: ¿cómo obtengo una referencia a un módulo dentro del módulo?



self python 3 (5)

Puede obtener el nombre del módulo actual usando __name__

La referencia del módulo se puede encontrar en el diccionario sys.modules .

Ver la documentation Python

¿Cómo puedo obtener una referencia a un módulo desde ese módulo? Además, ¿cómo puedo obtener una referencia al paquete que contiene ese módulo?


Puedes pasarlo desde afuera:

mymod.init(mymod)

No es ideal, pero funciona para mi caso de uso actual.


Si tiene una clase en ese módulo, la propiedad __module__ de la clase es el nombre del módulo de la clase. Por lo tanto, puede acceder al módulo a través de sys.modules[klass.__module__] . Esto también funciona para funciones.


Una técnica más, que no importa el módulo sys, y podría decirse que depende de tu gusto, es más simple:

current_module = __import__(__name__)

Tenga en cuenta que no hay importación. Python importa cada módulo solo una vez.


import sys current_module = sys.modules[__name__]