Курс 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. Оператор «is not» в Python
  2. Повторение элементов в Python
  3. Метод __complex__ в Python
  4. Создание виртуальной среды
  5. Управление IP-адресами через прокси
  6. Создание графики с черепахой
  7. Декораторы в Python
  8. Хеширование паролей с солью
  9. Избегайте ошибку FileNotFoundError
  10. Сортировка элементов с OrderedDict
  11. Наиболее частотные элементы с помощью Counter
  12. Работа с SQLite в Python
  13. Форматирование строк в Python
  14. Разбиение текста в Python
  15. Работа со строками в Python
  16. Модуль inspect: получение информации о объектах
  17. Преобразование range в итератор
  18. Переменные в Python
  19. Правила именования переменных
  20. Создание и операции с дробями
  21. Преобразование числа в список цифр
  22. Метод difference_update() — разность множеств
  23. Python-dateutil — работа с датами
  24. Регистрация на TenChat
  25. Асинхронное программирование с asyncio
  26. Возврат нескольких значений из функции
  27. Резервирование символов в Python
  28. Создание виртуальной среды
  29. Операции с массивами в NumPy
  30. Генератор чисел Фибоначчи
  31. Проверка наличия элемента в списке
  32. Явный импорт переменных
  33. Печать в одной строке
  34. Объединение списков с помощью zip
  35. Работа со словарями
  36. Сериализация объектов в Python
  37. Копирование списков в Python
  38. Измерение потребления памяти при сортировке
  39. Манипуляция формой массива в Numpy
  40. Структуры данных в Python
  41. Mad Libs Generator
  42. Разделение строки на пары ключ-значение.
  43. Метод count в Python: почему count(», ») возвращает 4?
  44. Метод eq для сравнения объектов
  45. Отслеживание прогресса с tqdm
  46. Генераторы и сеты в Python
  47. Использование html-скриптов в Jupyter Notebook

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