Курс 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. Метод Event.wait() в Python
  3. Декораторы в Python
  4. Настройка вывода в Numpy
  5. Проверка класса объекта
  6. Определение основы слова с showballstemmer
  7. Работа с collections в Python
  8. Метод __irshift__ для Python
  9. Глобальные переменные в Python
  10. Асинхронное программирование с asyncio
  11. Транспонирование матрицы
  12. Работа с байтовыми строками в Python
  13. Метод count в Python: почему count(», ») возвращает 4?
  14. Построение графиков в Matplotlib
  15. Библиотека wikipedia для Python
  16. Итераторы в Python
  17. Загрузка постов Instagram
  18. Скрытие вывода данных
  19. Операторы объединения в Python 3.9
  20. Блок try…finally в Python
  21. Срез в Python
  22. Извлечение новостей с помощью newspaper3k
  23. Установка максимального количества цифр
  24. Monkey Patching в Python
  25. Работа с itertools
  26. Функция pow() — возвести число в степень
  27. Особенности ключей словаря в Python
  28. Работа со строками
  29. Возврат нескольких значений из функции
  30. Очистка входных данных
  31. Поиск индекса элемента
  32. Аргумент по умолчанию
  33. Функция reversed() в Python
  34. Статическая типизация в Python
  35. Операции с массивами в NumPy
  36. Удаление дубликатов из списка с помощью dict.fromkeys
  37. Функции высшего порядка в Python
  38. Работа с модулем bisect
  39. Извлечение аудио из видео
  40. Метод setdefault() в Python
  41. Получение идентификатора объекта в памяти
  42. Глобальные переменные в Python
  43. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  44. Работа с файлами в Python
  45. Декоратор total_ordering для сравнения объектов
  46. Работа с модулем glob в Python

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