Курс 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. Метаклассы в Python
  3. Метод gt в Python
  4. Работа с эмодзи в Python
  5. Создание уникального проекта
  6. Методы split() и join() — Python строк.
  7. Конкатенация строк в Python
  8. Списки в Python: основы
  9. List Comprehension Tutorial
  10. Создание вложенных циклов for
  11. Библиотека wikipedia для Python
  12. Python: Splat-оператор и splatty-splat
  13. Python Метод sleep() времени
  14. Обновление ключей в Python
  15. Оператор объединения словарей
  16. Фильтрация списков с itertools
  17. Экранирование символов в Python
  18. Обязательные аргументы в Python
  19. Улучшенные подсказки для импорта в Python 3.12
  20. Метод __index__ в Python
  21. Вычисление натуральных логарифмов в NumPy
  22. Сортировка с помощью параметра key
  23. Обработка исключения UnboundLocalError
  24. Декораторы в Python
  25. Сортировка данных в Python
  26. Инициализация объекта
  27. Удаление пробелов методом translate()
  28. Применение функции к элементам списка
  29. Создание словарей и множеств в Python.
  30. Перевод текста с Python Translator
  31. Проверка элементов списка условием
  32. Объединение итераторов
  33. Экспорт данных с помощью writefile
  34. Преобразование строк в числа с плавающей запятой
  35. Defaultdict в Python
  36. Переопределение метода __rshift__
  37. Логирование с Logzero
  38. Приближение чисел в Python
  39. Удаление falsy-значений из списка с помощью filter
  40. Переменная Шредингера
  41. Поиск самого длинного слова в списке с использованием max()

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