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?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage