Вернуть разные значения для разных функций - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть функция, которая возвращает, скажем, 2 значения. Теперь, в зависимости от того, из какой функции это вызвано, я хочу вернуть эти значения. то есть, у меня есть функция A, которая возвращает значения «x» и «y», если эта функция вызывается из функции «B», я хочу вернуть «x», и если она вызывается из «C», я хочу вернуть «у». Есть ли способ сделать это?

1 Ответ

0 голосов
/ 27 февраля 2020

Это довольно просто. Функция, которая возвращает более одного значения, возвращает кортеж значений. Поэтому, вызывая функцию из A, вы можете легко присвоить переменную первому элементу возвращаемого значения посредством индексации. Например, допустим, у меня есть такая функция:

def function_A(x, y):
    return x, y #returns a tuple of x and y - (x, y)

def function_B():
    variable = function_A(2,3)[0] #The 2,3 arguments is just an example.
    # This gives you the first return value.

def function_C():
    variable = function_A(2,3)[1]
    # And this gives the second return value
...