Курс 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 defaultdict добавление ключа
- Работа с deque в Python
- Метод gt в Python
- Переопределение метода len
- Форматирование строк в Python
- Сравнение объектов в Python
- Проблема с изменяемыми аргументами
- Python union() функция — объединение множеств
- Перевод эмодзи и эмотиконов.
- Метод classmethod
- Экспорт данных с помощью writefile
- Определение функций с необязательными аргументами
- Вывод с переменной через запятую
- Проверка версии Python
- Многострочные строки в Python
- Итераторы с потерямиZIP
- Функция pow() — возвести число в степень
- Установка Python3.7 и PIP
- Дефолтные параметры в Python
- Фильтрация данных в Python.
- Добавление элементов в список: append() vs extend()
- Пустой оператор pass в Python
- Метод ior для битовых операций
- Управление браузером с Selenium
- Очистка данных в Python
- Объединение коллекций в Python
- Оператор морж в Python 3.8
- Создание списка дат
- Асинхронное выполнение задач в процессах
- Преобразование Excel в PDF с Spire.XLS
- Основные функции и модули Python
- Метод split() для разделения строк
- Создание генераторов в Python
- Поиск самого частого элемента
- Создание новых функций через partial
- Обновление данных через PUT запрос
- Проверка подстроки в строке
- Метод init в Python
- Подсчет количества элементов в списке
- Разделение строки в Python
- Генераторы в Python
- Удаление falsy-значений из списка с помощью filter















