Курс 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"
- Работа с defaultdictами в Python
- Измерение времени выполнения кода в Python
- Логирование с Loguru
- Конкатенация списков в Python
- Область видимости переменных
- Progress с библиотекой tqdm
- Управление импортом в Python
- Модуль os в Python: работа с файлами
- Работа с типами данных в Python с помощью pydantic.
- Склеивание строк через метод join()
- Циклы for в Python
- Вычисление натурального логарифма в NumPy
- Функции any() и all() в Python
- Установка и использование Virtualenv
- Фильтрация данных в Python.
- Python: динамическая типизация и проверка типов
- Удаление ссылок в Python
- enumerate() в Python для работы с индексами
- Функция enumerate() в Python
- Python: Splat-оператор и splatty-splat
- Обработка ошибок ввода данных
- Фильтрация списка от «ложных» значений
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Удаление элементов из списка в Python
- Создание графики с черепахой
- Счетчик в Python: most_common()
- Создание панели меню Tkinter
- Создание новых списков
- Работа с файлами в Python
- Определение относительного пути
- Декоратор проверки активности
- Добавление элементов в список
- Python-dateutil — работа с датами
- Переопределение метода
- split() без разделителя
- Метод matmul для умножения матриц
- Декоратор для группы пользователей в Django
- Выбор редактора кода.
- Хеширование паролей с солью
- Работа с файловой системой в Python
- Основы работы с os
- Переопределение метода xor в Python
- Упрощение работы с JSON-данными в Python
- Избегайте двойного подчеркивания
- Возвращение нескольких значений
- Аннотации типов в Python
- Создание словаря через dict comprehension
- Список переменных с %who
- Работа со словарями с defaultdict из collections















