Курс 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. Импорт модулей и пакетов в Python
  4. Отладка в Python
  5. Поиск подстроки в строке
  6. Измерение времени выполнения
  7. Математические функции в Python
  8. Установка User-Agent в Python
  9. Декораторы классов
  10. Сравнение объектов в Python
  11. Проверка памяти объекта
  12. Работа с файловой системой в Python
  13. Установка и использование Virtualenv
  14. Метод Enumerate() для списков
  15. Обход дочерних элементов BeautifulSoup
  16. Перезагрузка оператора в Python
  17. Оператор space-invader
  18. Обработка исключений в Python 3
  19. Работа с часовыми поясами в Python
  20. Генераторы в Python
  21. Создание новых списков в Python
  22. Выбор редактора кода.
  23. Итераторы в Python
  24. Выход из профиля в Django
  25. Управление импортом в Python
  26. Заказ карты Тинькофф Black
  27. Создание и инициализация объектов
  28. Вызов функций по строке в Python.
  29. Векторизация в Python с NumPy.
  30. Удаление ресурса в Python
  31. Декораторы в Python
  32. Функция all() в Python
  33. Метод сравнения объектов в Python
  34. Метод radd для пользовательских чисел
  35. Хеширование паролей с использованием salt
  36. Создание списка дат
  37. Работа с пользовательским вводом
  38. Конкатенация строк в Python
  39. Вызов внешних программ в Python с помощью sh
  40. Проверка дублей в списке.
  41. Создание графики с черепахой
  42. Преобразование числа в восьмеричную строку
  43. Работа с itertools
  44. Список методов и атрибутов
  45. Работа с датой и временем в Python
  46. Виртуальное окружение Python
  47. Метод join для наборов

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