Appel de la fonction dans la boucle de la ligne et de stocker la valeur de retour de variable pour ensuite être utilisée dans la boucle?
Je veux faire quelque chose comme ce qui suit:
while myFunc() as myVar:
print myVar
Fondamentalement, suffit d'appeler une fonction dans la boucle de la ligne qui va retourner une valeur et continuer la boucle en fonction de cette valeur, mais je voudrais aussi être en mesure d'utiliser cette valeur dans la boucle et je préfère ne pas avoir à appeler la fonction d'une 2ème fois.
Ce que je voudrais éviter:
while myFunc():
myVar = myFunc()
print myVar
Nope, désolé. Vous aurez à trouver un autre langage, Python ne pas faire les assignations dans les expressions (trop facile de créer des bugs).
OriginalL'auteur Mathieson | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Vous pouvez accomplir cela en utilisant la version à deux arguments de la
iter()
fonction intégrée:C'est équivalente à la suivante:
De la documentation pour
iter()
:OriginalL'auteur Andrew Clark
Utiliser un générateur qui renvoie cette valeur.
C'est dans la combinaison de l'instruction rendement.
for myVal in (myFunc() for _ in itertools.count()):
OriginalL'auteur sean