Передача значений в 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
Передача значений в Python
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.