Курс 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"
- Принцип одной функции
- Создание вкладок с TKinter
- Методы classmethod и staticmethod
- Проверка типов с помощью isinstance
- Модуль future Python
- Изменение IP-адреса в Python
- Удаление дубликатов из списка
- Управление контекстом с помощью декоратора contextmanager
- Функция zip() в Python
- Работа с массивами в Numpy
- Подсчет элементов в Python
- Условные выражения в Python
- Группы исключений в Python
- Подсчет элементов в Python
- Генераторы в Python
- Оператор (*) в Python
- Метод clear для коллекций
- Обновление данных через PUT запрос
- Аннотации типов в Python
- Обработка исключений в Python
- Объединение объектов в Python
- Описание скриптов в README
- Numpy: объединение массивов
- Повторение элементов в Python
- Избегайте ошибку FileNotFoundError
- Оператор «and» в Python
- Основные функции и модули Python
- Генераторы списков
- Импортирование в Python
- Работа с базами данных SQLite
- Solidity для DeFi Ethereum
- Использование super() в Python
- Конкатенация строковых литералов
- Рациональные числа в Python
- Цикл while в Python
- Работа со слайсами
- Основы работы со строками в Python
- Работа с парами ключ-значение
- Сортировка списка по индексам
- Равенство и идентичность в Python
- Компиляция регулярных выражений
- Разбиение строки в Python
- Создание директории в Python
- Генераторы в Python
- Добавление Progressbar в Python
- Python и Монти Пайтон
- Создание и удаление объектов















