Курс 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. Печать календаря
  3. Отладка утечек памяти в Python
  4. Метод clear для коллекций
  5. Параллельные вычисления в Python
  6. Обработка аргументов Python
  7. Удаление элемента по индексу
  8. Оператор морж в Python 3.8
  9. Структурирование данных с Pydantic
  10. Комментарии в Python
  11. Flask: создание веб-приложений
  12. Обработка ошибок в Python
  13. JSON-esque в Python
  14. Упрощение работы с JSON-данными в Python
  15. Удаление файлов в Python
  16. Подсчет частоты элементов с Counter
  17. Списки: объединение, изменение
  18. Отношения подклассов в Python
  19. Установка и использование библиотеки google
  20. Метод __iand__ для пользовательских классов
  21. Работа с CSV файлами
  22. Логирование с Logzero
  23. Метод repr() в Python
  24. enumerate() в Python для работы с индексами
  25. Динамическая типизация в Python
  26. Быстрый поиск кода
  27. Распаковка элементов последовательности
  28. Методы classmethod и staticmethod
  29. Объединение списков в строку
  30. Работа с базами данных SQLite
  31. Библиотека funcy: удобные утилиты
  32. Solidity для DeFi Ethereum
  33. Очистка вывода в Python
  34. Переопределение метода __lshift__
  35. Многопоточность в Python
  36. Глобальные переменные в Python
  37. Сортировка в Python
  38. Именованные кортежи в Python
  39. Тип данных TypeVarTuple
  40. Создание спинбокса в tkinter
  41. Анонимные функции в Python
  42. Имена объектов в Python
  43. Модуль math: основные функции
  44. Работа с рекламными данными в Pandas
  45. Создание словарей с defaultdict
  46. Работа с датой и временем в Python
  47. Удаление пробелов методом translate()

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