2016-04-03 2 views
0

Предположим, у меня есть функция -значение доступа атрибута функции в Python

def foo(x,y): 
    pass 
a = foo(5,6) 

Как получить доступ к значениям 5 и 6 из a?

+2

Вы не можете. 'x' и' y' являются временными переменными внутри 'foo()'. –

+0

Что? Что вы пытаетесь сделать? – felipsmartins

+0

, если вы не сохраните эти значения перед вызовом функции или функцией, сохраните их в глобальной переменной или не вернете их, вы не сможете ... – Copperfield

ответ

2

Из кода вы показали нам, вы не можете - 5 и 6 были приняты, чтобы foo, вы не держать их копию, foo не держать их копию, чтобы они ушли.

Итак, как указано в предыдущем абзаце, кто-то должен сохранить копию этих аргументов, если вы хотите сделать что-то еще с ними позже, и, хотя возможно, что есть функция, это не то, что они есть предназначен для. Так что ваши легкие варианты:

  • сделать foo класс, который сохраняет аргументы он был вызван с (который все еще очень необычно), или
  • сохранить аргументы себя (arg1, arg2 = 5, 6, например)
0

Вы не можете. Вам нужно будет использовать объект.