Курс 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
- Удаление дубликатов из списка с помощью dict.fromkeys
- Структурирование именованных констант
- Модуль os: работа с файлами и папками
- Использование функции product
- Получение атрибутов и методов класса
- Метод __iand__ для пользовательских классов
- Установка пакета в Python
- Основы работы со строками в Python
- Работа с IP-адресами в Python
- Метод get() в Python
- Применение функции к элементам списка
- Работа с многоуровневыми словарями в Python
- Отладка в командной строке
- Python Аргументы по умолчанию
- Списки в Python: синтаксис представления
- Пустой оператор pass в Python
- Модуль math: константы π и e
- Проекты на Python
- Распаковка аргументов в Python
- Нахождение самого длинного слова в списке с помощью max
- Объединение словарей в Python
- Мониторинг работы программы Py-spy
- Генераторы данных
- Обход элементов в Python
- Возврат нескольких значений
- Работа с SQLite в Python
- Ускорение обработки данных с %autoawait
- Форматирование кода на Python
- Безопасный доступ к значениям словаря
- Аргумент по умолчанию
- Установка и использование библиотеки google
- Переменные в Python: сокращение гласных
- Работа с timedelta в Python
- Аннотации типов в Python
- Сравнение объектов в Python
- Разделение строк в Python
- Обновление шаблона base.html
- Функция enumerate в Python
- Изменение объектов в Python
- Списковое включение в Python
- Метод __ilshift__ для битового сдвига влево
- Генерация случайных чисел Python
- Метод index() в Python















