Курс 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. Просмотр внешних файлов в %pycat
  3. Генераторы в Python
  4. Поиск шаблона в строке
  5. Очистка данных с помощью pandas
  6. Получение размера объекта с sys.getsizeof()
  7. JSON в Python: модуль, dump, dumps, load
  8. Очистка вывода в Python
  9. Генерация строк с .join()
  10. Пропуск начальных строк с помощью dropwhile()
  11. Отправка POST-запроса в REST API
  12. Математические функции в Python
  13. Преобразование данных в Python
  14. Вставка переменных в шаблоны Flask
  15. Проверка типов с использованием isinstance
  16. Получение частей дроби
  17. Обновление ключей в Python
  18. Декораторы в Python
  19. Установка random seed в Python
  20. Тестирование модели в PyTorch
  21. Пустой оператор pass в Python
  22. Объединение, распаковка и деструктуризация
  23. Установка и использование Virtualenv
  24. Отображение графиков в Jupyter с Matplotlib
  25. Методы HTTP запросов в Flask
  26. Символ подчеркивания в Python
  27. Контекстный менеджер в Python
  28. Хранение переменных в словаре.
  29. Замена элементов в списке с помощью генераторов списков
  30. Непрерывная проверка в Python
  31. Объединение словарей в Python
  32. Поиск простых чисел
  33. Мощь вложенных функций в Python
  34. Метод join() для объединения элементов в строку.
  35. Списки в Python
  36. Декораторы в Python
  37. Метод join() для объединения строк
  38. Объединение словарей в Python
  39. Операторы += в Python
  40. Асинхронное программирование с asyncio
  41. Импорт модулей в Python 3.12
  42. Аннотации типов в Python
  43. Установка User-Agent в Python
  44. Combobox в Tkinter
  45. Декоратор проверки активности
  46. Расчет времени выполнения
  47. Обработка исключений с блоком else
  48. Работа с файлами в Python

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