Независимость лучше - вы можете повторно использовать b
с другими данными (например, c()
, который генерирует некоторые другие данные). Также более ясно, что происходит - b
работает с данными, которые вы вводите, а не с каким-то "магическим" соединением с a
.
Если вы изменили a()
, возможно, вам также придется изменить b()
, чтобы по-прежнему иметь возможность использовать a()
- это жесткая связь ( больше ... ) и, как правило, нежелательно,
Если у вас действительно есть жесткие зависимости и вы просто хотите добавить меньше кода для каждой функции, рассмотрите внутренние функции:
def getStringOfNumbersTimes2(numbers):
"""Returns a string containing the input numbers multiplicated by 2"""
def mult2():
"""Mults each number by 2."""
return [n*2 for n in numbers]
# create the string - with : in between numbers
return ' : '.join(map(str,mult2()))
print(getStringOfNumbersTimes2([1,2,3]))
print(getStringOfNumbersTimes2([9.42,8.31,7.2]))
Вывод:
2 : 4 : 6
18.84 : 16.62 :14.4
Этовыдуманный пример - я сделал бы это только в том случае, если мне никогда не нужно mult2
вне getStringOfNumbersTimes2
и я хочу, чтобы getStringOfNumbersTimes2
выводил только вдвое больше, чем я даю.