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

WBOY
Freigeben: 2023-09-02 16:21:06
nach vorne
936 Leute haben es durchsucht

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))
Nach dem Login kopieren

Ausgabe

('new value', 6)
Nach dem Login kopieren

Ü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)
Nach dem Login kopieren

Ausgabe

['new-value', 6]
Nach dem Login kopieren

Ü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)
Nach dem Login kopieren

Ausgabe

{'val1': 'new-value', 'val2': 6}
Nach dem Login kopieren
Nach dem Login kopieren

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))
Nach dem Login kopieren

Ausgabe

{'val1': 'new-value', 'val2': 6}
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage