Курс 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 Метод sleep() из time
  2. Форматирование строк в Python
  3. Эффективная конкатенация строк в Python
  4. Блок else в Python
  5. Непрерывная проверка в Python
  6. Освоение Python
  7. Извлечение новостей с помощью newspaper3k
  8. Сравнение def и lambda в Python
  9. Группировка элементов в словарь
  10. Итераторы в Python
  11. Работа с геоданными с помощью geopy
  12. Зарезервированные слова в Python
  13. Логирование в Python
  14. Объединение строк с помощью метода join
  15. Область видимости переменных
  16. Передача словаря через **kwargs
  17. Обучение модели с указанием эпох
  18. Операторы присваивания в Python
  19. Функция zip() — объединение последовательностей
  20. Функции map, filter и reduce
  21. Генератор надежных паролей
  22. Сравнение объектов в Python
  23. Обязательные аргументы в Python
  24. Настройка нарезки списков
  25. Определение индекса элемента списка
  26. Работа с файлами в Python
  27. Округление в Python
  28. Пропуск начальных строк с помощью dropwhile()
  29. Циклы for в Python
  30. Отладка в командной строке
  31. Удаление специальных символов
  32. Проблема сравнения словарей
  33. Оператор (*) в Python
  34. JMESPath в Python
  35. Функции min(), max(), sum()
  36. Многоточие в Python
  37. Поток данных в Python
  38. UserString в Python
  39. Печать календаря в Python
  40. Форматирование строк с % в Python
  41. Функция zip() в Python
  42. Сохранение и загрузка модели в PyTorch
  43. Работа с множествами в Python
  44. PATCH-запрос с библиотекой requests
  45. Создание итерируемых объектов
  46. Обработка ошибок в Python
  47. Метод __irshift__ для побитового сдвига вправо
  48. Retrying в Python: повторные вызовы

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