Курс 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"
- Декораторы с @wraps
- Работа с пакетами
- Импорт в Python: список all
- Метод get() в Python
- Python и Юникод: работа с цифрами
- Извлечение данных из JSON
- Лямбда-функции в Python
- Работа со словарями в Python
- Создание словаря с значением по умолчанию
- Создание новой даты в Python
- Метод join() для объединения элементов в строку.
- Импорт модулей и пакетов в Python
- Игра «Угадывание чисел»
- Проверка версии Python
- Вложенные функции в Python
- Многоточие в Python
- Просмотр внешнего файла в Python
- Python defaultdict добавление ключа
- Многопоточность и асинхронное программирование в Python
- Библиотека itertools: объединение списков
- Объединение списков в Python
- Подсчет элементов с помощью Counter
- Вывод букв строки в Python
- Фильтрация списка чисел
- Управление пакетами с pip
- Срезы в Numpy
- Работа с аргументами командной строки в Python
- Секреты Python
- Замыкания в Python
- Сортировка с помощью key
- Измерение времени выполнения в Python
- Сериализация и десериализация объектов
- JMESPath в Python
- Обработка ошибок в JSON данных
- Counter() — подсчет элементов
- Оценка точности модели
- Обмен данными с asyncio.Queue
- Комментарии в Python
- Поиск индекса элемента
- Проверка элемента в множестве.
- Модуль functools в Python
- Работа с CSV файлами
- Ограничение итераций в Python















