Курс 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
- Просмотр внешних файлов в %pycat
- Округление чисел с помощью round
- Пропуск начальных строк с помощью dropwhile()
- Избегайте использования goto
- Удаление ключа из словаря
- Присвоение значений переменным в Python
- Открытие, чтение и закрытие файла
- Создание словаря и множества
- Бинарный поиск
- Разделение строки на пары ключ-значение.
- Описание скриптов в README
- Импорт модулей в Python 3.12
- Условные выражения в Python
- ChainMap избыточные ключи
- Генератор бросков кубиков
- Работа с срезами в Numpy
- Создание уникального проекта
- Работа с многоуровневыми словарями в Python
- Подсчет элементов с помощью Counter из collections
- Создание даты из строки ISO
- Экспорт функций в Python
- Создание словарей и множеств в Python
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Наследование в программировании
- Логирование в Python
- Удаление элементов из списка в Python
- Изменение элемента списка
- Создание панели меню Tkinter
- Парсинг веб-страниц с Beautiful Soup
- Форматирование строк в Python
- Работа с множествами в Python
- Просмотр внешнего файла в Python
- Генерация случайных чисел в Python
- Запуск асинхронной корутины
- Руководство по использованию Colorama
- Сохранение Unicode в JSON
- Метод ne для сравнения объектов
- Экспорт внешнего файла с помощью writefile
- Оператор объединения словарей
- Делегирование в Python
- Основы работы с os















