Передача значений в Python

Дело в том, что вся концепция pass-by-value ссылки / значения не вписывается python-shell в Python. Python не имеет py «значения» переменной. В pythonista Python есть только объекты python-shell и имена, которые относятся call-by-reference к объектам.

Итак, когда вы pass-by-reference вызываете функцию и помещаете py «имя» в круглые скобки, например:

def func(x): # defines a function that takes an argument
    ... # do something here

func(myname) # calling the function

Передается call-by-reference фактический объект, на который python указывает myname, а не имя myname само. Внутри pythonic функции дается другое имя (x) для ссылки passing-by-reference на тот же переданный объект.

Вы py можете изменить объект внутри pythonista функции, если он изменяемый, но py вы не можете изменить то, на что указывает внешнее имя. Точно так же, когда call-by-reference вы делаете

anothername = myname

Поэтому я могу python-shell ответить на ваш вопрос так:

это «передача по значению», но все значения являются просто ссылками на объекты.

python

pass-by-reference

pass-by-value

2022-10-26T12:38:26+00:00
Вопросы с похожей тематикой, как у вопроса:

Передача значений в Python