Курс 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
- Конкатенация строк с join() в Python
- Генераторы по генератору
- Замена символов в Python
- Создание новой даты в Python
- Python OrderedDict и fromkeys() — работа с словарями
- Управление IP-адресами через прокси
- Метаклассы в Python
- Оператор «not» в Python
- Поиск с библиотекой Google
- Тестирование с unittest
- Получение ID текущего процесса
- Декораторы с @wraps
- Сложение матриц в NumPy
- Команда %dhist — список посещенных каталогов
- Модуль Antigravity в Python 3
- Работа с часовыми поясами в Python.
- Счетчик в Python: most_common()
- Сравнение объектов в Python
- Работа с кортежами в Python
- Big O оптимизация
- Извлечение новостей с newspaper3k
- Функции классификации комплексных чисел
- Переопределение метода
- Нахождение пересечения множеств
- Работа с *args и **kwargs в Python
- Глобальные переменные в Python
- Работа с файлами в Python
- Конвертация изображений в PDF
- Раздувающийся словарь в Python
- Использование функции product
- Измерение времени выполнения кода
- Создание вложенных циклов for
- Генерация случайных чисел в Python
- Многострочные комментарии в Python
- Сравнение строк в Python
- Библиотека funcy: удобные утилиты
- Подсчет частотности элементов в Python
- Принципы Zen of Python
- Методы работы со списками
- Проверка подстроки в строке с помощью in
- Функции range() в Python
- Аннотации типов в Python















