#python #function #variables
#python #функция #переменные
Вопрос:
Предположим, у меня есть такая функция.
def funA(a,b):
if a>5:
c=a b
if a<5:
c=a-b
return c
Итак, возможно ли для меня использовать переменную C снаружи в другой функции, подобной этой? Это правильный путь?
def fun(foo)
if foo>5:
foo =c
return foo
Комментарии:
1. Это описано практически в любом руководстве по функциям. Где вы застряли?
2. Я хотел спросить это как основное, потому что застрял в переборе тензоров карты объектов, где возникает эта ошибка
3. … но вы приняли ответ, который не зависит от тензоров или карт объектов. Необходимая информация содержится в руководствах. Голосование за закрытие остается в силе.
Ответ №1:
просто используйте возвращаемое значение в качестве параметра
вот пример:
def funcA(x):
return x
def funcB(y):
return y
#pass to function
funcB(funcA(1))
#store to variables
z = funcA(1)
вот как это может быть применимо к вашему случаю:
во-первых, вы получите только одно значение из этого, поскольку a не может быть меньше и больше 5 одновременно, поэтому я собираюсь изменить функцию, чтобы предоставить вам оба значения в виде кортежа:
def funA(a,b):
return (a b,a-b)
def funB(c,d):
print(c,d)
funB(funA(1,2)[0], funA(1,2)[1])
Если вы посмотрите внимательно, funA
возвращает кортеж этих значений, чтобы вы могли получить доступ к каждому из них, используя их index
; первый индекс равен 0, а второй индекс равен 1, следовательно: funA(1,2)[0]
и funA(1,2)[1]
Ответ №2:
Вы возвращаете значение, и вы можете сохранить результаты вызова функции в переменной и использовать ее снова. Очень короткий пример. Вероятно, вам следует пройти вводный курс python.
def add(a, b):
return a b
def mult(a, b):
return a * b
def add_and_mult(a, b):
added = add(a, b)
multed = mult(a, b)
return add(added, multed)
Комментарии:
1. что делать, если функция имеет несколько вложенных возвратов. Я добавил edt. Пожалуйста, проверьте, если это возможно
2. каждый раз, когда функция вызывается, она возвращает одно значение. если вы используете «if» для возврата того или иного значения, возвращаемое вами значение будет доступно вызывающей функции.