Пропустить до содержимого

Как использовать передачу ссылки в Python?

[

Прохождение по ссылке в Python: Основы и лучшие практики

Python Tricks Dictionary Merge

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

В этом учебнике вы узнаете:

  • Что означает прохождение по ссылке и почему вам захочется использовать его
  • Как прохождение по ссылке отличается от прохождения по значению и уникального подхода Python
  • Как себя ведут аргументы функций в Python
  • Как использовать определенные изменяемые типы данных, чтобы передавать аргументы по ссылке в Python
  • Какие лучшие практики для реализации прохождения по ссылке в Python

Бесплатный бонус: [5 мыслей о владении

Определение прохождения по ссылке

Прежде чем мы углубимся в технические детали прохождения по ссылке, полезно рассмотреть термин сам по себе, разбив его на составляющие:

  • Прохождение означает предоставление аргумента функции.
  • По ссылке означает, что аргумент, который вы передаете функции, является ссылкой на переменную, которая уже существует в памяти, а не независимой копией этой переменной.

Поскольку вы передаете функции ссылку на существующую переменную, все операции, выполненные с этой ссылкой, непосредственно влияют на переменную, на которую она ссылается. Давайте рассмотрим некоторые примеры того, как это работает на практике.

Ниже вы увидите, как передавать переменные по ссылке на C#. Обратите внимание на использование ключевого слова ref в выделенных строках:

C#

using System;
class Program
{
static void Main(string[] args)
{
int arg;
// Передача по ссылке.
// Значение будет изменяться в самой функции.
SomeFunction(ref arg);
}
static void SomeFunction(ref int arg)
{
arg = 42;
}
}

В этом примере мы передаем переменную arg в функцию SomeFunction с использованием ключевого слова ref. Это означает, что изменения, внесенные в переменную arg в функции SomeFunction, также будут видны в основной части программы. В результате получаем значение 42, которое мы присвоили переменной arg внутри функции SomeFunction.

Теперь давайте перейдем к рассмотрению того, как Python обрабатывает аргументы функций и как мы можем достичь схожего поведения прохождения по ссылке в Python.