Курс 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 defaultdict добавление ключа
  2. Работа с deque в Python
  3. Метод gt в Python
  4. Переопределение метода len
  5. Форматирование строк в Python
  6. Сравнение объектов в Python
  7. Проблема с изменяемыми аргументами
  8. Python union() функция — объединение множеств
  9. Перевод эмодзи и эмотиконов.
  10. Метод classmethod
  11. Экспорт данных с помощью writefile
  12. Определение функций с необязательными аргументами
  13. Вывод с переменной через запятую
  14. Проверка версии Python
  15. Многострочные строки в Python
  16. Итераторы с потерямиZIP
  17. Функция pow() — возвести число в степень
  18. Установка Python3.7 и PIP
  19. Дефолтные параметры в Python
  20. Фильтрация данных в Python.
  21. Добавление элементов в список: append() vs extend()
  22. Пустой оператор pass в Python
  23. Метод ior для битовых операций
  24. Управление браузером с Selenium
  25. Очистка данных в Python
  26. Объединение коллекций в Python
  27. Оператор морж в Python 3.8
  28. Создание списка дат
  29. Асинхронное выполнение задач в процессах
  30. Преобразование Excel в PDF с Spire.XLS
  31. Основные функции и модули Python
  32. Метод split() для разделения строк
  33. Создание генераторов в Python
  34. Поиск самого частого элемента
  35. Создание новых функций через partial
  36. Обновление данных через PUT запрос
  37. Проверка подстроки в строке
  38. Метод init в Python
  39. Подсчет количества элементов в списке
  40. Разделение строки в Python
  41. Генераторы в Python
  42. Удаление falsy-значений из списка с помощью filter

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