Курс 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 reversed() функция
  2. JSON в Python: модуль, dump, dumps, load
  3. Именование столбцов в Python с pandas
  4. Синхронизация потоков с time.sleep()
  5. Создание тестовых данных с Faker
  6. Преобразование символов с помощью map
  7. Роль ключевого слова self
  8. Решение переменной Шредингера
  9. Распаковка аргументов в Python
  10. Работа с YAML в Python
  11. Операция += для списков
  12. Поиск индекса элемента
  13. Оценка точности модели
  14. Протокол управления контекстом
  15. Создание директории в Python
  16. Просмотр файла в Jupyter Noteboo
  17. Создание словарей и множеств в Python.
  18. Генерация UUID в Python
  19. Преобразование букв в нижний регистр
  20. Инициализация переменных
  21. Импорт модулей в Python 3.12
  22. Работа с файлами и директориями в Python.
  23. Подсказки типов в Python
  24. Открытие и редактирование скриптов Python
  25. Определение размера папок в Python
  26. Python: динамическая типизация и проверка типов
  27. Функции в Python
  28. Docstring в Python
  29. Срезы в Python
  30. Генераторы в Python
  31. Округление дробей в Python
  32. Оператор «not» в Python
  33. Параллельные вычисления в Python
  34. Сумма элементов списка
  35. Наиболее частотные элементы с помощью Counter
  36. Метод Self в Python
  37. Область видимости переменных
  38. Избегание циклических зависимостей классов в Python
  39. Возвращение нескольких значений
  40. Обработка данных в Python
  41. Методы classmethod и staticmethod
  42. Работа с коллекциями Python
  43. Инициализация структур данных

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