Например, я пытаюсь понять этот код1:
Код: Выделить всё
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
Код: Выделить всё
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
Возвращается ли список? Один элемент? Его снова вызывают? Когда прекратятся последующие звонки?
1. Этот фрагмент кода был написан Йохеном Шульцем (jrschulz), который создал великолепную библиотеку Python для метрических пространств. Это ссылка на полный источник: Модуль mspace.
Подробнее здесь: https://stackoverflow.com/questions/231 ... -in-python
Мобильная версия