Курс 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. Defaultdict в Python
  4. Функция map() и ленивая оценка
  5. Транспонирование 2D-массива с помощью zip
  6. Разработка игры Pong с turtle
  7. inspect в Python: анализ кода
  8. Возврат нескольких значений
  9. Область видимости переменных
  10. Поиск повторов в списке
  11. Работа с аргументами командной строки
  12. Активация Matplotlib в Jupyter
  13. Операторы Splat и splatty-splat
  14. Метод rlshift для битового сдвига
  15. Импорт с альтернативным именем
  16. Форматирование строк в Python
  17. Преобразование списка в словарь через генератор
  18. Работа с defaultdictами в Python
  19. Логический оператор «and» в Python
  20. Выражения-генераторы в Python
  21. Форматирование строк в Python.
  22. Различия символов в Python
  23. Глобальные переменные в Python
  24. Python Translator: создание локальных переводчиков
  25. Применение функции к списку
  26. globals и locals
  27. Печать календаря в Python
  28. Упрощение условных выражений с тернарным оператором
  29. Поток данных в Python
  30. Создание пар из последовательностей
  31. Парсинг статей с Newspaper3k
  32. Роль ключевого слова self
  33. Установка Python3.7 и PIP
  34. Отступы в Python
  35. Генерация UUID в Python
  36. Расчет времени выполнения кода
  37. *args и **kwargs в Python
  38. Сортировка слиянием
  39. Отладка в командной строке
  40. Поиск самого частого элемента
  41. Обработка ошибок в Python
  42. Подсчет количества элементов в списке
  43. Визуализация пропусков данных
  44. Импорт модулей в Python 3.12

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