Функции Python вызывают по ссылке [дубликат]Python

Программы на Python
Ответить
Anonymous
 Функции Python вызывают по ссылке [дубликат]

Сообщение Anonymous »

В некоторых языках параметр можно передавать по ссылке или по значению, используя специальное зарезервированное слово, например ref или val. Когда вы передаете параметр в функцию Python, он никогда не меняет значение параметра при выходе из функции. Единственный способ сделать это — использовать зарезервированное слово global (или, как я его сейчас понимаю).
Пример 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, что параметр является либо значением, либо ссылочным параметром вместо использования глобального?

Подробнее здесь: https://stackoverflow.com/questions/132 ... -reference
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»