Курс 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. Функция zip() в Python
  3. Метод count() для списков
  4. Хранение переменных в Python.
  5. Concrete Paths — метод .with_suffix()
  6. Работа с Enum в Python3.
  7. Декораторы в Python
  8. Проверка на истинность объектов в Python
  9. Отслеживание выполнения программы с библиотекой tqdm
  10. Создание и удаление объектов
  11. Создание и операции с дробями
  12. Транспонирование 2D-массива с помощью zip
  13. Lambda-функция в Python: использование с map() и sum()
  14. Работа с Requests для HTTP-запросов
  15. Создание словаря в Python
  16. Тестирование с responses
  17. Конкатенация строк с помощью join()
  18. Генераторы в Python
  19. Множественные конструкторы в Python
  20. Именованные срезы в Python
  21. Логирование с Loguru
  22. Поток данных в Python
  23. Удаление дубликатов из списка с помощью dict.fromkeys
  24. Работа с пакетами
  25. Класс Counter() для подсчета элементов
  26. Работа со списками
  27. Подсчет вхождений элементов
  28. Ввод нескольких значений
  29. Удаление элементов из списка в Python
  30. Big O оптимизация
  31. Изменение переменной в Python: nonlocal
  32. Проверка подстроки в строке
  33. Работа с коллекциями Python
  34. Изменение логики работы с временем
  35. Переопределение метода sub
  36. Управление браузером с Selenium
  37. Оператор * в Python
  38. Контроль точности вывода чисел
  39. Установка Home Assistant
  40. Удаление элемента по индексу
  41. Обновление ключей в Python
  42. Логические значения в Python
  43. Установка и использование библиотеки google
  44. Перезагрузка оператора в Python
  45. Метод setdefault() в Python

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