Курс Python → Искажение имен в Python
Искажение имен в Python — это механизм, который позволяет избежать конфликтов именования между различными пространствами имен. Этот механизм особенно полезен при работе с классами, где члены класса могут иметь имена, которые могут пересекаться с другими именами в программе. Искажение имен позволяет интерпретатору Python изменять имена членов класса, начинающихся с двойного подчеркивания (__), чтобы избежать таких конфликтов.
Когда мы используем искажение имен в Python, интерпретатор автоматически изменяет имена членов класса, начинающиеся с двойного подчеркивания и не заканчивающиеся более чем одним завершающим подчеркиванием. Изменение заключается в добавлении _NameOfTheClass впереди искаженного имени. Например, если у нас есть член класса с именем __variable, то после искажения его имя станет _NameOfTheClass__variable.
Пример использования искажения имен можно продемонстрировать на простом классе:
class MyClass:
def __init__(self):
self.__private_variable = 10
obj = MyClass()
print(obj._MyClass__private_variable) # Используем искаженное имя
В данном примере мы создаем класс MyClass с приватной переменной __private_variable. После искажения имени, мы можем обратиться к этой переменной, используя новое имя _MyClass__private_variable. Это позволяет избежать конфликтов именования и обеспечивает безопасность данных в классе.
Другие уроки курса "Python"
- Многопроцессорное программирование в Python
- Структурирование данных с Pydantic
- Управление пакетами с pip
- Проверка памяти объекта
- Именованные аргументы в Python
- Добавление кнопки в tkinter
- Списки: объединение, изменение
- Безопасный доступ к значениям словаря
- Мощь вложенных функций в Python
- Условное добавление элементов в список
- Создание виртуальной среды
- Синхронизация доступа к ресурсам
- Поиск файлов по шаблону
- Генерация ключей RSA
- Просмотр внешнего файла в Python
- Метод __irshift__ для Python
- Поиск наиболее частого элемента списке
- Динамическая типизация в Python
- Сортировка в Python
- OrderedDict — упорядоченный словарь
- Bootle — простой веб-фреймворк
- Python OrderedDict и fromkeys() — работа с словарями
- Работа с географическими данными в Python
- Вывод букв строки в Python
- Принципы LSP и ISP в Python
- Метод count() для списка
- Однострочники Python
- Оптимизация создания строк
- Обмен данными с asyncio.Queue
- Обработка исключений с блоком else
- Функции all() и any() в Python
- Работа с аргументами командной строки в Python
- Декораторы в Python
- Операции с датами в Python
- Генераторы в Python
- Получение текущей даты и времени с помощью datetime
- Удаление первого элемента списка
- Обновление шаблона base.html
- Переопределение унарных операторов
- Установка Git и AWS CLI
- Транспонирование 2D-массива с помощью zip
- Модуль array: создание и использование массивов
- Подписка на @SelectelNews
- Создание новых списков
- Взаимодействие с внешними процессами в Python















