Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schreibe ich eine Funktion mit Ausgabeparametern (aufgerufen per Referenz) in Python?

Wie schreibe ich eine Funktion mit Ausgabeparametern (aufgerufen per Referenz) in Python?

WBOY
WBOYnach vorne
2023-09-02 16:21:06908Durchsuche

Wie schreibe ich eine Funktion mit Ausgabeparametern (aufgerufen per Referenz) in Python?

Alle Parameter (Argumente) in der Python-Sprache werden als Referenz übergeben. Das heißt, wenn Sie den Referenzinhalt eines Parameters in einer Funktion ändern, wird diese Änderung auch in der aufrufenden Funktion widergespiegelt.

Erreichen Sie dies durch -

Ergebnis-Tupel zurückgeben

Beispiel

In diesem Beispiel geben wir ein Tupel von Ergebnissen zurück -

# Function Definition
def demo(val1, val2):
   val1 = 'new value'
   val2 = val2 + 1
   return val1, val2

x, y = 'old value', 5

# Function call
print(demo(x, y))

Ausgabe

('new value', 6)

Übergabe veränderlicher Objekte

Beispiel

In diesem Beispiel übergeben wir ein veränderliches Objekt -

# Function Definition
def demo2(a):
   # 'a' references a mutable list
   a[0] = 'new-value'
   # This changes a shared object
   a[1] = a[1] + 1

args = ['old-value', 5]
demo2(args)
print(args)

Ausgabe

['new-value', 6]

Übergeben Sie ein mutiertes Wörterbuch

Beispiel

In diesem Beispiel übergeben wir ein Wörterbuch -

def demo3(args):
   # args is a mutable dictionary
   args['val1'] = 'new-value'
   args['val2'] = args['val2'] + 1

args = {'val1': 'old-value', 'val2': 5}

# Function call
demo3(args)
print(args)

Ausgabe

{'val1': 'new-value', 'val2': 6}

Werte in Klasseninstanzen

Beispiel

In diesem Beispiel packen wir den Wert in die Klasseninstanz -

class Namespace:
   def __init__(self, **args):
      for key, value in args.items():
         setattr(self, key, value)

def func4(args):
   # args is a mutable Namespace
   args.val1 = 'new-value'
   args.val2 = args.val2 + 1

args = Namespace(val1='old-value', val2=5)

# Function Call
func4(args)
print(vars(args))

Ausgabe

{'val1': 'new-value', 'val2': 6}

Das obige ist der detaillierte Inhalt vonWie schreibe ich eine Funktion mit Ausgabeparametern (aufgerufen per Referenz) in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was ist in Python gekapselt?Nächster Artikel:Was ist in Python gekapselt?