Курс 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
- Импорт модулей и пакетов в Python
- Отладка в Python
- Поиск подстроки в строке
- Измерение времени выполнения
- Математические функции в Python
- Установка User-Agent в Python
- Декораторы классов
- Сравнение объектов в Python
- Проверка памяти объекта
- Работа с файловой системой в Python
- Установка и использование Virtualenv
- Метод Enumerate() для списков
- Обход дочерних элементов BeautifulSoup
- Перезагрузка оператора в Python
- Оператор space-invader
- Обработка исключений в Python 3
- Работа с часовыми поясами в Python
- Генераторы в Python
- Создание новых списков в Python
- Выбор редактора кода.
- Итераторы в Python
- Выход из профиля в Django
- Управление импортом в Python
- Заказ карты Тинькофф Black
- Создание и инициализация объектов
- Вызов функций по строке в Python.
- Векторизация в Python с NumPy.
- Удаление ресурса в Python
- Декораторы в Python
- Функция all() в Python
- Метод сравнения объектов в Python
- Метод radd для пользовательских чисел
- Хеширование паролей с использованием salt
- Создание списка дат
- Работа с пользовательским вводом
- Конкатенация строк в Python
- Вызов внешних программ в Python с помощью sh
- Проверка дублей в списке.
- Создание графики с черепахой
- Преобразование числа в восьмеричную строку
- Работа с itertools
- Список методов и атрибутов
- Работа с датой и временем в Python
- Виртуальное окружение Python
- Метод join для наборов















