Курс 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"

  1. Аннотации типов в Python
  2. GitHub в Telegram: подписка на уведомления
  3. Философия Python
  4. Оператор «or» в Python
  5. Модуль math: константы π и e
  6. Подписка на SelectelNews в Twitter
  7. JMESPath в Python
  8. Удаление специальных символов с помощью re.sub
  9. Создание словарей с defaultdict
  10. Основы работы с базами данных в Python
  11. Логирование с Logzero
  12. Работа с рекламными данными в Pandas
  13. Настройка нарезки списков
  14. Взаимодействие с внешними процессами в Python
  15. Декораторы в Python
  16. Экспорт данных с помощью writefile
  17. Работа с комплексными числами
  18. Логические операторы в Python
  19. Цикл for с enumerate() в Python
  20. Кортеж в Python: создание и использование
  21. Реализация метода __abs__ в Python
  22. Работа с Enum в Python3.
  23. Разделение строки с помощью re.split()
  24. Транспонирование матрицы
  25. Сравнение строк в Python
  26. Работа со словарями в Python
  27. Извлечение статей с newspaper3k
  28. Списковое включение в Python
  29. Методы сравнения множеств
  30. Python UserString — создание подклассов строк
  31. Фильтрация данных в Python.
  32. Получение пути к текущему скрипту с помощью os
  33. Поиск повторов в списке
  34. Атрибуты объекта в Python
  35. Создание GUI с Tkinter: Entry
  36. Протокол управления контекстом
  37. Пространство имен в Python
  38. Срезы в Python
  39. Функция zip() для объединения списков
  40. Генерация фальшивых данных с Faker
  41. Создание Telegram-бота на Python
  42. Итерация по коллекции в Python
  43. Метод pos в Python
  44. Поиск файлов по шаблону

Marketello читают маркетологи из крутых компаний