Вызов функций 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-х годов. Почему это сейчас неверно?