Курс 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 3.10
- Множества и frozenset
- Метод enumerate() в Python
- Генераторы в Python
- Разность множеств
- Имена объектов в Python
- Повторение элементов списков
- Colorama: окрашивание текста в Python
- Протокол управления контекстом
- Переопределение метода delitem в Python
- Python Enumerate
- Подписка на каналы разработчиков
- Вычисление натурального логарифма в NumPy
- Создание коллекций из выражения-генератора
- Поиск шаблона в строке
- f-строки в формате строк
- Установка и использование Telegram API в Python
- Работа с YAML в Python
- Создание обратного итератора
- Оценка выражений генератора в Python
- Проверка окончания строки с помощью str.endswith()
- Запуск внешних программ с subprocess
- Создание новых списков в Python
- Метод gt в Python
- Непрерывная проверка в Python
- Создание и операции с дробями
- Объединение словарей в Python
- Библиотека itertools: объединение списков
- Форматирование строк в Python
- Декораторы в Python
- Путь к интерпретатору Python
- Работа с zip-архивами в Python
- Объединение кортежей в Python
- Особенности множеств в Python
- Python Метод Union Множеств
- Использование type hints
- Нахождение самого длинного слова в списке с помощью max
- Наследование в программировании
- Функция enumerate() в Python
- Работа с массивами в Python
- Работа с SQLite в Python
- Расчет времени выполнения программы
- Улучшение читаемости кода в Python
- Хэш-функции в Python
- Виртуальные среды в Python
- Проверка ввода с помощью isdigit
- Работа с timedelta















