В python вы можете вернуть функцию нескольким значениям. Здесь надуманный пример:
def divide(x, y):
quotient = x/y
remainder = x % y
return quotient, remainder
(q, r) = divide(22, 7)
Это кажется очень полезным, но похоже, что его также можно злоупотреблять ( "Ну.. функция X уже вычисляет то, что нам нужно в качестве промежуточного значения. Пусть X тоже вернет это значение" ).
Когда вы должны нарисовать линию и определить другой метод?