Курс 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. Поиск анаграмм с Counter
  2. Библиотека wikipedia для Python
  3. Структуры данных в Python
  4. Удаление файлов и папок в Python
  5. Профилирование с Pandas
  6. Lambda-функция в Python: использование с map() и sum()
  7. ChainMap.new_child() — добавление нового словаря
  8. Работа с Enum в Python3.
  9. Метод __irshift__ для Python
  10. Работа с коллекциями Python
  11. Обработка исключений в Python 3
  12. Работа с библиотекой requests
  13. Строки в Python: апострофы и кавычки
  14. Бинарный поиск
  15. Создание даты из строки ISO
  16. Работа с IP-адресами в Python
  17. Генерация резюме в Gensim
  18. Классы данных в Python
  19. Настройка Cron
  20. Изменение элемента списка
  21. Переворот строки с использованием цикла
  22. Работа с collections в Python
  23. Управление доступом к модулю
  24. Итераторы с потерямиZIP
  25. Многопоточность и асинхронное программирование в Python
  26. Список импортированных модулей в Python
  27. Работа с WindowsPath()
  28. Генераторы в Python
  29. Работа с timedelta
  30. Показ всплывающих окон Tkinter
  31. Импорт модулей в Python 3.12
  32. Создание веб-приложения с Flask
  33. Метод count в Python: почему count(», ») возвращает 4?
  34. Назначение максимального и минимального значения переменной в Python.
  35. Создание класса в Python
  36. Генераторные функции в Python
  37. Преобразование строк в числа с плавающей запятой
  38. Defaultdict в Python
  39. Список переменных с %who
  40. Обновление множества в Python
  41. Изучение объектов с помощью dir()
  42. Профилирование данных с Pandas.
  43. Объединение кортежей в Python
  44. Определение объема памяти объекта
  45. Проблема с изменяемыми аргументами

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