Was bewirkt das Schlüsselwort „yield“ in Python?Python

Python-Programme
Anonymous
 Was bewirkt das Schlüsselwort „yield“ in Python?

Post by Anonymous »

Welche Funktionalität bietet das Schlüsselwort yield in Python?
Zum Beispiel versuche ich diesen Code zu verstehen1:

Code: Select all

def _get_child_candidates(self, distance, min_dist, max_dist):
if self._leftchild and distance - max_dist < self._median:
yield self._leftchild
if self._rightchild and distance + max_dist >= self._median:
yield self._rightchild
Und das ist der Anrufer:

Code: Select all

result, candidates = [], [self]
while candidates:
node = candidates.pop()
distance = node._get_dist(obj)
if distance = min_dist:
result.extend(node._values)
candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
return result
Was passiert, wenn die Methode _get_child_candidates aufgerufen wird?
Wird eine Liste zurückgegeben? Ein einzelnes Element? Wird es noch einmal aufgerufen? Wann werden nachfolgende Anrufe eingestellt?



1. Dieser Code wurde von Jochen Schulz (jrschulz) geschrieben, der eine großartige Python-Bibliothek für metrische Räume erstellt hat. Dies ist der Link zur vollständigen Quelle: Modul mspace.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post