Derzeit mein Code sieht wie folgt aus:Python3 Wie man mehrere Funktionen versucht, um Wert zu finden und zuzuweisen?
img = find_image_in_feed(feed)
if img:
e.image = img
if not e.image:
img = find_image_on_site(site)
if img:
e.image = img
Es funktioniert, aber es sieht verwirrend und schwer zu erweitern. In Zukunft kann es mehrere weitere find_image (...) Funktionen geben. Gibt es ein "Designmuster", das ich in einer solchen Situation verwenden sollte? Meine zweite Idee sieht für mich auch nicht sauber aus, weil ich gleichzeitig Wert zugewiesen und überprüft habe.
if img = find_image_in_feed(feed):
e.image = img
elif img = find_image_on_site(site):
e.image = img
Ich möchte meinen Code so einfach zu lesen wie möglich sein, und ich habe das Gefühl, ich offensichtlich etwas fehlt bin.
'e.image = img = find_image_in_feed (feed) oder find_image_on_site (site)'. Wenn du 'img' nirgends in deinem Code brauchst, wirf es einfach weg. – ozgur
Ihr zweites Code-Snippet ist nicht gültig Python: Sie können C-style-Zuordnungen nicht innerhalb eines 'if'-Tests durchführen, da Python-Zuweisungsanweisungen keine Ausdrücke sind, so dass sie keinen testbaren Wert erzeugen. –