Курс Python → Работа с переменными в Python

При работе с Python важно понимать, как происходит работа с переменными и объектами. Различия в выходных данных g1 и g2 в данном случае объясняются тем, как происходит присваивание значений переменным array_1 и array_2. В первом случае array_1 привязан к новому объекту [1,2,3,4,5], но так как оператор in вычисляется во время объявления, он все еще ссылается на старый объект [1,2,3,4], который не уничтожается.

Во втором случае, присваивание значений для array_2 обновляет тот же самый старый объект [1,2,3,4] до [1,2,3,4,5]. Следовательно, g2 и array_2 все еще имеют ссылку на один и тот же объект, который теперь был обновлен до [1,2,3,4,5]. Это объясняет различия в поведении переменных и результате их использования.

array_1 = [1, 2, 3, 4]
array_2 = array_1
g1 = [x for x in array_1]
array_1.append(5)
g2 = [x for x in array_2]

Пример кода выше демонстрирует ситуацию, описанную в инструкции. При выполнении данного кода переменные g1 и g2 будут иметь различные значения из-за разницы в присваивании новых значений переменным array_1 и array_2. Понимание таких тонкостей работы с переменными в Python поможет избежать ошибок и неожиданных результатов при программировании.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с контекстными переменными
  2. Генерация QR-кодов с библиотекой qrcode
  3. Анализ кода — Python
  4. Чтение бинарного файла в Python.
  5. Поиск наиболее частого элемента
  6. Отслеживание выполнения программы с библиотекой tqdm
  7. Идентификатор объекта в Python
  8. Удаление дубликатов с помощью множеств
  9. Сортировка HTML-элементов
  10. Автоматизация с Python
  11. PATCH-запрос с библиотекой requests
  12. SciPy: широкий функционал для математических операций
  13. Переменные класса и экземпляра
  14. Цикл for в Python
  15. Отношения подклассов в Python
  16. Строки в Python: апострофы и кавычки
  17. Работа с zip-архивами в Python
  18. Функция zip() — объединение последовательностей
  19. Профилирование кода
  20. Цикл for в Python
  21. Создание именованных кортежей в Python
  22. Поиск всех индексов подстроки
  23. Создание функций с произвольным количеством аргументов
  24. Импортирование в Python
  25. Запрос пароля с помощью getpass
  26. Установка Python3.7 и PIP
  27. Экспорт данных с помощью writefile
  28. Оператор «and» в Python
  29. Отступы в Python
  30. Переопределение метода __pow__
  31. Курсы Яндекс Практикум
  32. Поток данных в Python
  33. Разработка Telegram-ботов
  34. Метод count() для списка
  35. Работа с многоуровневыми словарями в Python
  36. Распаковка аргументов в Python
  37. Получение ID текущего процесса
  38. Метод classmethod
  39. Метод splitlines() для разделения строк
  40. Функция zip() в Python
  41. Работа с набором данных CIFAR10 в PyTorch
  42. HTTP-запросы с библиотекой Requests
  43. Сортировка с помощью параметра key
  44. Получение обратного списка чисел
  45. Преобразование Excel в PDF с Spire.XLS
  46. Показ всплывающих окон Tkinter
  47. Docstring в Python
  48. Работа с Colorama

Marketello читают маркетологи из крутых компаний