Курс 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
- GitHub в Telegram: подписка на уведомления
- Философия Python
- Оператор «or» в Python
- Модуль math: константы π и e
- Подписка на SelectelNews в Twitter
- JMESPath в Python
- Удаление специальных символов с помощью re.sub
- Создание словарей с defaultdict
- Основы работы с базами данных в Python
- Логирование с Logzero
- Работа с рекламными данными в Pandas
- Настройка нарезки списков
- Взаимодействие с внешними процессами в Python
- Декораторы в Python
- Экспорт данных с помощью writefile
- Работа с комплексными числами
- Логические операторы в Python
- Цикл for с enumerate() в Python
- Кортеж в Python: создание и использование
- Реализация метода __abs__ в Python
- Работа с Enum в Python3.
- Разделение строки с помощью re.split()
- Транспонирование матрицы
- Сравнение строк в Python
- Работа со словарями в Python
- Извлечение статей с newspaper3k
- Списковое включение в Python
- Методы сравнения множеств
- Python UserString — создание подклассов строк
- Фильтрация данных в Python.
- Получение пути к текущему скрипту с помощью os
- Поиск повторов в списке
- Атрибуты объекта в Python
- Создание GUI с Tkinter: Entry
- Протокол управления контекстом
- Пространство имен в Python
- Срезы в Python
- Функция zip() для объединения списков
- Генерация фальшивых данных с Faker
- Создание Telegram-бота на Python
- Итерация по коллекции в Python
- Метод pos в Python
- Поиск файлов по шаблону















