Курс 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. Декораторы в Python
  2. Работа с очередями в Python
  3. Возврат нескольких значений
  4. Функции range() в Python
  5. Скрытие вывода данных
  6. Поиск наиболее частого элемента
  7. Извлечение статей с newspaper3k
  8. Возврат нескольких значений
  9. Закрытие файла в Python
  10. Сумма элементов списка
  11. Введение в PyTorch
  12. Удаление и повторная вставка ключа в OrderedDict
  13. Экспорт внешнего файла с помощью writefile
  14. Управление сессиями в Python
  15. Генераторы данных
  16. IPython и Jupyter Notebook: руководство
  17. Шаблоны и наследование в Flask
  18. Python: изменяемые и неизменяемые коллекции
  19. Модуль Antigravity в Python 3
  20. Метод setitem в Python
  21. Форматирование строк в Python
  22. Печать комбинаций в Python с Itertools
  23. Аннотации типов в Python
  24. Создание файла с проверкой ошибки
  25. Распаковка значений в Python
  26. Наследование в программировании
  27. Условные выражения в Python
  28. Создание списка через цикл
  29. Управление доступом к модулю
  30. Принципы SRP и OCP
  31. Наиболее частотные элементы с помощью Counter
  32. Функция zip() в Python
  33. Работа с итераторами в Python
  34. Поиск с библиотекой Google
  35. Разделение строки на подстроки в Python
  36. Создание циклической ссылки
  37. Concrete Paths в Python
  38. Функция zip() для объединения списков
  39. Транспонирование матрицы
  40. Декораторы в Python
  41. Генераторы в Python
  42. Функция __init__ в Python
  43. Функция с *args.
  44. Разделение строки в Python
  45. Измерение времени выполнения кода

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