Лучший подход (чтобы получить видимость, о которой вы спрашиваете) состоит в том, чтобы поместить этот оператор def
в модуль (скажем, fit.py), import fit
из любого другого модуля, которому требуется доступ к элементам, определенным в этом, и используйте fit.fitnesscompare
в любом из этих модулей по мере необходимости.
То, что вы спрашиваете, и что вам действительно нужно, может на самом деле отличаться ...:
как я объяснил в другом посте ранее сегодня, пользовательские функции сравнения не лучший способ настроить сортировку в Python (поэтому в Python 3 они даже больше не разрешены): скорее, Пользовательская функция извлечения ключей будет служить вам намного лучше (ориентирована на будущее, более общая, быстрее). Вместо звонка, скажем
somelist.sort(cmp=fit.fitnesscompare)
вызов
somelist.sort(key=fit.fitnessextract)
, где
def fitnessextract(x):
return x.fitness
или, для действительно невероятной скорости,
import operator
somelist.sort(key=operator.attrgetter('fitness'))