Python-Funktionen rufen per Referenz auf
In einigen Sprachen können Sie einen Parameter als Referenz oder Wert übergeben, indem Sie ein spezielles reserviertes Wort wie verwendenref oderval. Wenn Sie einen Parameter an eine Python-Funktion übergeben, ändert sich der Wert des Parameters beim Verlassen der Funktion nieglobal reserviertes Wort (oder wie ich es derzeit verstehe).
Beispiel 1:
k = 2
def foo (n):
n = n * n #clarity regarding comment below
square = n
return square
j = foo(k)
print j
print k
würde zeigen
>>4
>>2
Zeige k als unveränderlich
In diesem Beispiel wird die Variable n niemals geändert
Beispiel 2:
n = 0
def foo():
global n
n = n * n
return n
In diesem Beispiel wird die Variable n geändert
Gibt es in Python eine Möglichkeit, eine Funktion aufzurufen und dies Python mitzuteilen?der Parameter entwederein Wert oderReferenz Parameter anstelle von global?
Zweitens sagen sie in den Cambridge-Prüfungen der Stufe A jetzt, dass eine Funktion a zurückgibtSingle value, während eine Prozedur zurückgibtmehr als eine Wert. Mir wurde beigebracht, dass eine Funktion eine return-Anweisung hat und die Prozedur in den 80ern nicht. Warum ist das jetzt falsch?