Курс 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. Определение индекса элемента списка
  2. Работа с файлами в Python
  3. Конкатенация строк с join() в Python
  4. Генераторы по генератору
  5. Замена символов в Python
  6. Создание новой даты в Python
  7. Python OrderedDict и fromkeys() — работа с словарями
  8. Управление IP-адресами через прокси
  9. Метаклассы в Python
  10. Оператор «not» в Python
  11. Поиск с библиотекой Google
  12. Тестирование с unittest
  13. Получение ID текущего процесса
  14. Декораторы с @wraps
  15. Сложение матриц в NumPy
  16. Команда %dhist — список посещенных каталогов
  17. Модуль Antigravity в Python 3
  18. Работа с часовыми поясами в Python.
  19. Счетчик в Python: most_common()
  20. Сравнение объектов в Python
  21. Работа с кортежами в Python
  22. Big O оптимизация
  23. Извлечение новостей с newspaper3k
  24. Функции классификации комплексных чисел
  25. Переопределение метода
  26. Нахождение пересечения множеств
  27. Работа с *args и **kwargs в Python
  28. Глобальные переменные в Python
  29. Работа с файлами в Python
  30. Конвертация изображений в PDF
  31. Раздувающийся словарь в Python
  32. Использование функции product
  33. Измерение времени выполнения кода
  34. Создание вложенных циклов for
  35. Генерация случайных чисел в Python
  36. Многострочные комментарии в Python
  37. Сравнение строк в Python
  38. Библиотека funcy: удобные утилиты
  39. Подсчет частотности элементов в Python
  40. Принципы Zen of Python
  41. Методы работы со списками
  42. Проверка подстроки в строке с помощью in
  43. Функции range() в Python
  44. Аннотации типов в Python

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