Курс 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
- Функция count() в Python
- Преобразование букв в нижний регистр
- Принципы программирования
- Удаление элемента из списка в Python
- Иерархия классов в Python
- Python Метод Union Множеств
- Проверка надежности пароля на Python
- Печать в одной строке
- Оператор Walrus в Python
- Управление асинхронными задачами с помощью Semaphore
- Красивый вывод списка
- Работа с пакетами
- Проверка индексов коллекции
- Генераторы в Python
- Роль object и type в Python
- Создание словарей в Python
- Атрибуты класса и экземпляра в Python
- Декораторы в Python
- Дизассемблирование Python кода
- Метод index() в Python
- Генерация фальшивых данных с Faker
- Работа со списками
- Обработка ошибок в Python
- Перевод двоичного кода в целое число
- Передача аргументов в Python
- Нахождение разницы между списками в Python
- Извлечение новостей с помощью newspaper3k
- Выход из профиля в Django
- Модуль xkcd: добавление юмора в Python
- Назначение максимального и минимального значения переменной в Python.
- Модуль math: константы π и e
- Избегайте использования goto
- Функция eval() в Python
- Упрощение работы с JSON-данными в Python
- Копирование словарей и списков в Python
- Уникальность ключей в словаре
- Установка и использование pyshorteners
- Методы Python для работы с данными
- Декоратор total_ordering для сравнения объектов
- Генерация случайных чисел в Python
- Переопределение унарных операторов
- Метод Enumerate() для списков
- Создание словаря в Python
- Метод enumerate() в Python
- Импорт модулей в Python 3.12















