Курс 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. Объединение списков в строку
  3. Атрибуты класса и экземпляра
  4. Создание и инициализация объектов
  5. Передача параметров в Python
  6. Переопределение оператора % для объектов
  7. Подсчет частоты элементов с Counter
  8. Разделение строки на пары ключ-значение.
  9. Работа со строками в Python
  10. Удаление элементов по срезу
  11. Генераторы словарей и множеств
  12. Переопределение метода len
  13. Получение пути к текущему скрипту с помощью os
  14. JSON в Python: модуль, dump, dumps, load
  15. Применение функции к элементам списка
  16. Основы Python за 14 дней
  17. Метод pos в Python
  18. Открытие и запись файлов
  19. Сортировка элементов с OrderedDict
  20. Метод setdefault() в Python
  21. Преобразование текста в нижний регистр
  22. Замена элементов в списке с помощью генераторов списков
  23. Проверка версии Python
  24. Работа с срезами в Python
  25. Работа с комплексными числами
  26. Подсчет элементов в Python
  27. Конкатенация строк в Python
  28. Сокращение ссылок с pyshorteners
  29. Генераторы в Python
  30. Преобразование кортежа в словарь.
  31. Курс по дообучению ChatGPT
  32. Лямбда-функции в Python
  33. Оптимизация строк в Python
  34. Работа с изображениями Pillow
  35. Работа с атрибутом dict
  36. Декодирование строк в Python
  37. Работа с пользовательским вводом
  38. Удаление элементов из списка
  39. Numpy: объединение массивов
  40. Преобразование символов в нижний регистр
  41. Обезопасьте ввод данных
  42. Проверка подстроки в строке с помощью in
  43. Очистка списка от False, None, 0, «»
  44. Создание GUI с Tkinter: Entry
  45. Удаление символа из строки

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