Вызов функций Python по ссылке

В некоторых языках вы можете передать параметр по ссылке или по значению, используя специальное зарезервированное слово, напримерссылка или жевал, Когда вы передаете параметр в функцию Python, он никогда не изменяет значение параметра при выходе из функции. Единственный способ сделать это - использоватьГлобальный зарезервированное слово (или, как я понимаю, в настоящее время).

Пример 1:

k = 2

def foo (n):
     n = n * n     #clarity regarding comment below
     square = n
     return square

j = foo(k)
print j
print k

показал бы

>>4
>>2

показывая k, чтобы быть неизменными

В этом примере переменная n никогда не изменяется

Пример 2:

n = 0
def foo():
    global n
    n = n * n
    return n

В этом примере переменная n изменяется

Есть ли способ в Python для вызова функции и сказать Python, чтопараметр либоценность или жессылка параметр вместо использования глобального?

Во-вторых, в экзаменах Кембриджского уровня А теперь говорят, что функция возвращаетне замужем значение, тогда как процедура возвращаетбольше одного значение. Меня учили, что функция имеет оператор возврата, а процедура - нет, в течение 80-х годов. Почему это сейчас неверно?

Ответы на вопрос(9)

Ваш ответ на вопрос