Курс 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 Метод sleep() из time
- Форматирование строк в Python
- Эффективная конкатенация строк в Python
- Блок else в Python
- Непрерывная проверка в Python
- Освоение Python
- Извлечение новостей с помощью newspaper3k
- Сравнение def и lambda в Python
- Группировка элементов в словарь
- Итераторы в Python
- Работа с геоданными с помощью geopy
- Зарезервированные слова в Python
- Логирование в Python
- Объединение строк с помощью метода join
- Область видимости переменных
- Передача словаря через **kwargs
- Обучение модели с указанием эпох
- Операторы присваивания в Python
- Функция zip() — объединение последовательностей
- Функции map, filter и reduce
- Генератор надежных паролей
- Сравнение объектов в Python
- Обязательные аргументы в Python
- Настройка нарезки списков
- Определение индекса элемента списка
- Работа с файлами в Python
- Округление в Python
- Пропуск начальных строк с помощью dropwhile()
- Циклы for в Python
- Отладка в командной строке
- Удаление специальных символов
- Проблема сравнения словарей
- Оператор (*) в Python
- JMESPath в Python
- Функции min(), max(), sum()
- Многоточие в Python
- Поток данных в Python
- UserString в Python
- Печать календаря в Python
- Форматирование строк с % в Python
- Функция zip() в Python
- Сохранение и загрузка модели в PyTorch
- Работа с множествами в Python
- PATCH-запрос с библиотекой requests
- Создание итерируемых объектов
- Обработка ошибок в Python
- Метод __irshift__ для побитового сдвига вправо
- Retrying в Python: повторные вызовы















