Ich schreibe ein Modul, das eine Funktion zur Verfügung stellt und einen Initialisierungsschritt benötigt, jedoch aufgrund bestimmter Einschränkungen muss ich beim ersten Aufruf initialisieren, so dass ich auf der Suche nach dem richtigen Idiom in Python, die mir erlauben würde, um loszuwerden, die bedingte.
#with conditional
module.py
initialized = False
def function(*args):
if not initialized: initialize()
do_the_thing(*args)
Ich möchte diese Bedingung mit etwas wie diesem loswerden (es funktioniert nicht):
#with no conditional
module.py
def function(*args):
initialize()
do_the_thing(*args)
function = do_the_thing
Mir ist klar, dass ich nicht einfach Namen im Modul verwenden und sie zur Laufzeit ändern kann, da Module mit from module import function
wird niemals mit einer function=other_fun
im Inneren des Moduls.
Gibt es also ein pythonisches Idiom, das dies auf die richtige Art und Weise tun könnte?