Курс 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"
- Проверка типа данных
- Сортировка в Python
- Colorama: окрашивание текста в Python
- Поиск уникальных элементов строкой в Python
- Использование html-скриптов в Jupyter Notebook
- Взаимодействие с sys
- Анализ кода — Python
- Транспонирование 2D-массива с помощью zip
- Оптимизация памяти в Python
- Транспонирование матрицы
- Возведение в квадрат с помощью itertools
- Проверка памяти объекта
- Многострочные комментарии в Python
- Официальный канал Python в Telegram
- Добавление элементов в список: append() vs extend()
- Зарезервированные слова в Python
- Объединение строк с помощью метода join
- Таймер обратного отсчета
- Применение функций в Python
- Создание OrderedDict
- Метод invert для побитового отрицания
- Импорт модулей в Python 3.12
- Python reversed() функция
- UserString в Python
- Операции с матрицами в Python
- Подсчет элементов в Python
- Обход дочерних элементов BeautifulSoup
- Преобразование текста в нижний регистр
- Python 3.12: Псевдонимы типов
- Поиск уникальных и повторяющихся элементов
- Отладка производительности Python
- Очистка данных с Pandas
- Частичное применение функций в Python
- Функциональное программирование в Python
- Функции в Python: создание и вызов
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Обновление шаблона base.html
- Удаление элемента по индексу в Python
- Функция product() в Python
- Метод rrshift для пользовательских объектов
- Оптимизация интернирования строк
- Работа с файлами и директориями в Python.
- Игра «Угадывание чисел»
- Печать календаря
- Управление контекстом выполнения кода
- Проверка на палиндром
- Закрытие файла в Python















