Курс 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"
- Хеширование паролей с использованием salt
- Комментарии в Python.
- Установка Git и AWS CLI
- Проверка надежности пароля на Python
- Парсинг веб-страниц с Beautiful Soup
- Оптимизация гиперпараметров с Scikit Optimize
- Методы __repr__ и __str__ в Python
- Конструктор в Python
- Добавление элемента в список.
- Преобразование генераторов в циклы
- Улучшение читаемости кода в Python
- Создание namedtuple списком полей
- Работа с асинхронными задачами в Python
- Работа с Telegram API на Python
- Работа со временем в Python
- Проверка версии Python
- Установка Python — Простое руководство
- Применение функций в Python
- Работа с getopt
- Возвращение нескольких значений
- capitalize() — изменение регистра первого символа строки
- Измерение времени выполнения кода
- Каналы Senior: Python, Java, Frontend, SQL, C++
- JMESPath в Python
- Удаление дубликатов в pandas
- Python enumerate() функции
- Обновление множества в Python
- Сравнение строк в Python
- Функциональное программирование в Python
- Операции с комплексными числами
- Поиск с помощью регулярных выражений
- Проблема с изменяемыми аргументами
- Проверка версии Python
- Итерация по итерируемым объектам
- Переименование файлов в Python
- Измерение времени выполнения с помощью time
- Работа с датой и временем в Python
- Область видимости переменных
- Структура строк в Python
- Измерение времени выполнения кода
- Python Тесты и Гайды
- Мониторинг памяти с Pympler
- Удаление элементов по срезу
- Генерация чисел с range()
- Поиск HTML-элементов с BeautifulSoup
- Переменные в Python
- Создание и инициализация объектов















