Курс Python → Изменяемые и неизменяемые объекты

Для разработчика Python важно понимать, что изменяемые объекты, такие как списки (list), могут быть изменены внутри функции, не требуя их переназначения. Например, если у нас есть список чисел, мы можем изменить его содержимое внутри функции, и это изменение будет отражено в исходном списке. С другой стороны, неизменяемые объекты, такие как числа (int), не могут быть изменены напрямую. Поэтому, при попытке изменить значение числа с помощью операции a -= 1, будет создан новый объект и переменная будет указывать на него, не изменяя исходное значение.

Пример кода, иллюстрирующий это поведение:


def modify_list(lst):
    lst.append(4)
    lst[0] = 10

def modify_number(num):
    num -= 1
    print(num)

my_list = [1, 2, 3]
my_num = 5

modify_list(my_list)
print(my_list)  # Выведет [10, 2, 3]

modify_number(my_num)
print(my_num)  # Выведет 5

В данном примере функция modify_list изменяет список my_list, добавляя элемент 4 и изменяя первый элемент на 10. После вызова функции изменения список my_list действительно изменяется. С другой стороны, функция modify_number пытается уменьшить значение переменной my_num на 1, но так как числа являются неизменяемыми объектами, исходное значение переменной my_num остается неизменным.

Таким образом, в Python важно понимать разницу между изменяемыми и неизменяемыми объектами, чтобы корректно работать с ними в своих программах. Использование этого знания позволит избежать ошибок и написать более эффективный и понятный код.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Использование функции enumerate()
  2. Управление IP-адресами через прокси
  3. Python defaultdict добавление ключа
  4. Разность множеств
  5. Сортировка HTML-элементов
  6. Antigravity модуль
  7. Переопределение метода __or__()
  8. Модуль Antigravity в Python 3
  9. Печать месячного календаря
  10. Делегирование в Python
  11. Замена атрибута в именованном кортеже
  12. Управление экспортом элементов
  13. Оператор in и not in в Python
  14. Оператор walrus в Python
  15. PUT запрос для обновления данных
  16. Python: библиотеки и функции
  17. Создание виртуальной среды
  18. Проверка элементов списка условием
  19. Преобразование текста в нижний регистр
  20. Работа с процессами в Python
  21. Очистка вывода в Python
  22. Работа с очередями в Python
  23. Секреты Python
  24. Преобразование объекта в строку
  25. Функции range() в Python
  26. Метод __imod__ для Python
  27. Обработка данных в Python
  28. Блок else в циклах Python
  29. Библиотека Chartify: руководство
  30. Метод getitem для доступа к элементам последовательности
  31. Решение переменной Шредингера
  32. Тест скорости набора текста на Python
  33. Удаление элементов во время итерации
  34. Вывод переменной и строки в Python
  35. Оператор match в Python
  36. Автоматизация действий с Pyautogui
  37. Глубокое копирование объектов
  38. Список импортированных модулей в Python
  39. Удаление элементов по срезу
  40. Получение комбинаций в Python
  41. Запрос пароля с помощью getpass
  42. Работа с рекламными данными в Pandas
  43. Переопределение метода __and__
  44. Хэш-функции в Python
  45. SciPy: широкий функционал для математических операций
  46. Удаление элемента по индексу в Python

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