2016-04-03 3 views
0

Angenommen, ich habe eine Funktion -Zugriffswert der Funktion Attribut in Python

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

Wie greife ich auf die Werte 5 und 6 von a?

+2

Du kannst nicht. 'x' und' y' sind temporäre Variablen innerhalb von 'foo()'. –

+0

Was? Was versuchst du zu tun? – felipsmartins

+0

Wenn Sie diese Werte nicht vor dem Funktionsaufruf speichern oder die Funktion in einer globalen Variablen speichern oder zurückgeben, können Sie nicht ... – Copperfield

Antwort

2

Aus dem Code, den Sie uns gezeigt haben, können Sie nicht - 5 und 6 um foo weitergegeben wurden, nicht eine Kopie davon halten hat, foo nicht halten eine Kopie von ihnen, so sind sie weg. Wie der obige Absatz andeutete, muss jemand eine Kopie dieser Argumente behalten, wenn Sie später etwas anderes mit ihnen machen wollen, und obwohl es möglich ist, eine Funktion zu haben, ist das nicht wirklich das, was sie sind bestimmt für. So Ihre einfache Optionen sind:

  • foo eine Klasse zu machen, die die Argumente speichert sie genannt wurde (was immer noch sehr ungewöhnlich ist), oder
  • die Argumente sparen Sie sich (arg1, arg2 = 5, 6 zum Beispiel)
0

Sie können nicht. Sie müssten ein Objekt verwenden.

Verwandte Themen