Курс 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"
- Создание итератора
- Установка пакетов с помощью pip
- Извлечение данных из JSON
- Сравнение def и lambda функций в Python
- Сложные типы данных в Python
- Отладка в командной строке
- Оператор «and» в Python
- Выбор редактора кода.
- Переопределение метода
- Поиск файлов по шаблону
- Резервирование символов в Python
- Отправка HTTP-запросов с User-Agent
- Протокол управления контекстом
- Получение обратного списка чисел
- Работа с YAML в Python
- Перезагрузка оператора в Python
- Генератор надежных паролей
- Метод pop() списка
- Округление в Python
- Взаимодействие с sys
- Работа с массивами в Python
- Проверка типов с использованием isinstance
- Поиск индексов подстроки
- Установка и обучение ChatterBot
- Описание скриптов в README
- Удаление ключей из словаря
- Работа с кортежами в Python
- Создание словарей с defaultdict
- Генерация QR-кодов с библиотекой qrcode
- Обработка ошибок в Python
- Импорт модулей в Python 3.12
- Проверка подстроки в строке
- Установка и использование модуля Wikipedia
- Генераторы в Python
- Отправка поздравлений по дню рождения
- Замена символов в строке
- Antigravity модуль
- Методы обработки строк в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- None в Python: использование и особенности
- Округление банкира в Python
- Метод __ixor__ для побитового исключающего ИЛИ
- Методы в Python
- Атрибуты класса и экземпляра
- Concrete Paths в Python
- Переопределение метода __lshift__
- Преобразование данных в Python















