Курс 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"
- Переворот последовательности
- Преобразование регистра строк
- Применение функции к каждому элементу списка
- Работа с Enum в Python3.
- Обработка StopIteration в Python
- Расчет времени выполнения программы
- Python union() функция — объединение множеств
- Синтаксис переменных цикла в Python
- Разделение строки на пары ключ-значение.
- Форматирование строк с помощью f-строк
- Расширение операции побитового «и» в Python
- Получение текущей даты и времени
- Наиболее частотные элементы с помощью Counter
- Разделение строки в Python
- Объединение Python и Shell
- Извлечение аудио из видео
- Конкатенация строковых литералов
- Встроенные функции Python
- Список переменных в Python
- Декоратор Ajax required
- Работа с URL-адресами в Python
- Оптимизация гиперпараметров с Scikit Optimize
- Управление мышью и клавиатурой с Pyautogui
- Нахождение самого длинного слова в списке с помощью max
- Создание словаря через dict comprehension
- Подписка на SelectelNews в Twitter
- Подписка на Kaspersky Team
- Установка переменной среды в Python
- Проверка строки на палиндром
- EMOT преобразование эмодзи в текст
- Управление сессиями в Python
- Импорт модулей и пакетов в Python
- Отношения подклассов в Python
- Создание списка через итерацию
- Создание таблиц в Python с PrettyTable
- Обратный список чисел
- Структура строк в Python
- Оператор распаковки в Python
- Создание списка дат
- Генераторы списков в Python
- Порядок операций в Python
- Эффективная конкатенация строк с использованием join()
- Повторение и перенос строки
- Удаление дубликатов из списка
- Удаление элемента по индексу в Python
- Профилирование кода на Python















