Курс 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"
- Использование функции enumerate()
- Управление IP-адресами через прокси
- Python defaultdict добавление ключа
- Разность множеств
- Сортировка HTML-элементов
- Antigravity модуль
- Переопределение метода __or__()
- Модуль Antigravity в Python 3
- Печать месячного календаря
- Делегирование в Python
- Замена атрибута в именованном кортеже
- Управление экспортом элементов
- Оператор in и not in в Python
- Оператор walrus в Python
- PUT запрос для обновления данных
- Python: библиотеки и функции
- Создание виртуальной среды
- Проверка элементов списка условием
- Преобразование текста в нижний регистр
- Работа с процессами в Python
- Очистка вывода в Python
- Работа с очередями в Python
- Секреты Python
- Преобразование объекта в строку
- Функции range() в Python
- Метод __imod__ для Python
- Обработка данных в Python
- Блок else в циклах Python
- Библиотека Chartify: руководство
- Метод getitem для доступа к элементам последовательности
- Решение переменной Шредингера
- Тест скорости набора текста на Python
- Удаление элементов во время итерации
- Вывод переменной и строки в Python
- Оператор match в Python
- Автоматизация действий с Pyautogui
- Глубокое копирование объектов
- Список импортированных модулей в Python
- Удаление элементов по срезу
- Получение комбинаций в Python
- Запрос пароля с помощью getpass
- Работа с рекламными данными в Pandas
- Переопределение метода __and__
- Хэш-функции в Python
- SciPy: широкий функционал для математических операций
- Удаление элемента по индексу в Python















