Курс 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"
- Логирование с Loguru
- Комментарии в Python.
- Подсчет часто встречающихся элементов
- Pretty-printing JSON в Python
- Отступы в Python
- Работа с аргументами командной строки
- Хранение переменных в словаре.
- Управление пакетами с pip
- Область видимости переменных
- Таймер обратного отсчета
- Тестирование функции сложения
- Замена переменных в Python
- Декораторы с @wraps
- Удаление символа из строки
- Работа с комплексными числами
- Установка User-Agent в Python
- Метод index() в Python
- Профилирование данных с Pandas
- Работа с кортежами в Python
- Принципы SRP и OCP
- Подробная информация о %pinfo
- Асинхронное выполнение задач в процессах
- Использование эмодзи в Python
- Работа со стеком в Python
- f-строки в формате строк
- Список методов и атрибутов
- Применение функции к элементам списка
- Именованные срезы в Python
- Путь к интерпретатору Python
- Оптимизация поиска в словарях
- Использование *args
- Оператор «not» в Python
- Модуль antigravity: генерация координат
- Построение графиков в Matplotlib
- Преобразование кортежа в словарь.
- Запуск внешних программ с subprocess
- Блок else в циклах Python
- Вывод символов строки в Python
- Условные выражения в Python
- Библиотека Chartify: руководство
- Обход элементов в Python
- Генераторы списков
- Область видимости переменных в Python















