Derzeit versuche ich eine Python 'Klassenfunktionalität' in eine Funktion zu bekommen.Wie aktualisiert man Funktionsvariablen durch die Übergabe von ** args
Beispielcode:
def image_gen(**kwargs):
anglerange= 45
print(image_gen.__dict__)
image_gen.__dict__.update(kwargs)
print(image_gen.__dict__)
print(anglerange)
args = dict(anglerange=15)
image_gen(**args)
kehrt:
{}
{'anglerange': 15}
45
Dies ist nicht der richtige Weg, das Argument, die Aktualisierung zu lösen, aber was ist der richtige Weg für sie? In einer Klasse können Sie self.update.__dict__
aufrufen, wie ist das in einer Funktion konfiguriert?
Ich brauche die Argument-Initialisierung in der Funktion für eine Standard-Kopie zu laufen.
Python 3.5
Warum möchten Sie einer Funktion eine Klassenfunktionalität hinzufügen, wenn Sie Klassen dafür haben? – bereal
Nur neugierig, ob es möglich ist, dies zu tun, anstatt eine Klasse mit __init__ usw. zu erstellen. Auch diese Funktionen finde ich einfacher zu testen und zu experimentieren. – srood
Sie können nicht erwarten, den Wert einer lokalen Variablen zu aktualisieren. Selbst Klassen müssten "print (self.angleange)", nur "print (angle range)" würde genau so funktionieren wie hier. –