Как передать результат из одной функции в другую функцию - PullRequest
0 голосов
/ 28 мая 2018

Здравствуйте, рассмотрите следующую часть кода:

'def sum(ab,bc):
    cd = ab + bc
    return cd

ab = 5
bc = 6

sum(ab,bc)
print(cd)'

Когда я запускаю эту часть кода, я имею в качестве результата:

NameError: имя 'cd' не определено

Но cd - это результат функции Sum?Так почему же это не определено.

Во-вторых, как я могу вставить результат функции суммы в другую функцию.Например, допустим, у меня есть также функция diff:

def diff (x,y):
    ef = x - y
    return ef

diff(cd,3)'

Когда я запускаю эту часть кода, у меня также в качестве результата не определяется cd.Но cd - это результат моей предыдущей функции суммы?

1 Ответ

0 голосов
/ 28 мая 2018

cd, в вашем случае, это переменная, область действия которой равна функции sum(), поэтому она будет выделена при вызове функции, а затем освобождена, когда функция вернется.Чтобы напечатать результат, вы должны сделать что-то вроде этого:

def sum(ab,bc):
    cd = ab + bc
    return cd

ab = 5
bc = 6

res=sum(ab,bc)
print(res)'

, если вы хотите «отладить», вы должны сделать печать «внутри» тела функции

def sum(ab,bc):
    cd = ab + bc
    print cd
    return cd

также я буду избегать использования cd и других «зарезервированных» слов в качестве имен переменных, поскольку результаты могут быть повреждены.

...