Курс 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. Проверка однородности элементов списка
  3. Возврат нескольких значений
  4. Циклы for в Python
  5. Метод __float__ в Python
  6. Удаление первого элемента списка
  7. Извлечение аудио из видео
  8. Метод setdefault() в Python
  9. Аннотации типов в Python
  10. Подсчет элементов в Python
  11. Нахождение максимального значения и его индекса в списке
  12. PUT запрос для обновления данных
  13. Перемешивание списка с shuffle()
  14. Объединение словарей в Python
  15. Обмен значений переменных в Python
  16. Python Translator: создание локальных переводчиков
  17. JSON в Python: модуль, dump, dumps, load
  18. Python defaultdict добавление ключа
  19. Рекурсия для обращения строки
  20. Создание новых списков в Python
  21. Блок else в обработке исключений
  22. Скрытие вывода данных
  23. Объединение списков с использованием itertools.chain
  24. Проверка типов с использованием isinstance
  25. Цикл for в Python
  26. Генерация чисел с range()
  27. Выход из профиля в Django
  28. Проверка типа объекта в Python
  29. Проверка ввода с помощью isdigit
  30. Тип CodeType в Python.
  31. Комментарии в Python
  32. split() без разделителя
  33. Работа с временем в Python
  34. Разделение строки с помощью re.split()
  35. Создание вкладок с TKinter
  36. Замена символов в строке
  37. Декоратор total_ordering для сравнения объектов
  38. Оператор распаковки в Python
  39. Определение наиболее частого элемента с помощью collections.Counter
  40. Дизассемблирование Python кода
  41. Введение в Python
  42. Округление банкира в Python
  43. Функция reversed() в Python
  44. Python: отличительная особенность — отступы
  45. Оформление текста в консоли с TermColor
  46. Проверка условий: all и any

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