Курс 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
- Метаклассы в Python
- Метод gt в Python
- Работа с эмодзи в Python
- Создание уникального проекта
- Методы split() и join() — Python строк.
- Конкатенация строк в Python
- Списки в Python: основы
- List Comprehension Tutorial
- Создание вложенных циклов for
- Библиотека wikipedia для Python
- Python: Splat-оператор и splatty-splat
- Python Метод sleep() времени
- Обновление ключей в Python
- Оператор объединения словарей
- Фильтрация списков с itertools
- Экранирование символов в Python
- Обязательные аргументы в Python
- Улучшенные подсказки для импорта в Python 3.12
- Метод __index__ в Python
- Вычисление натуральных логарифмов в NumPy
- Сортировка с помощью параметра key
- Обработка исключения UnboundLocalError
- Декораторы в Python
- Сортировка данных в Python
- Инициализация объекта
- Удаление пробелов методом translate()
- Применение функции к элементам списка
- Создание словарей и множеств в Python.
- Перевод текста с Python Translator
- Проверка элементов списка условием
- Объединение итераторов
- Экспорт данных с помощью writefile
- Преобразование строк в числа с плавающей запятой
- Defaultdict в Python
- Переопределение метода __rshift__
- Логирование с Logzero
- Приближение чисел в Python
- Удаление falsy-значений из списка с помощью filter
- Переменная Шредингера
- Поиск самого длинного слова в списке с использованием max()















