Курс 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. Combobox в Tkinter
  2. ROT13 Шифр Цезаря в Python
  3. Циклы for в Python
  4. Генерация ключей RSA
  5. Вычисление натурального логарифма в NumPy
  6. Проверка дублей в списке.
  7. Любовь к Python
  8. Python: изменяемые и неизменяемые коллекции
  9. Методы обработки строк в Python
  10. Оператор «or» в Python
  11. Синхронизация потоков с time.sleep()
  12. %pinfo: получение информации об объекте
  13. Работа с датой и временем в Python
  14. Python Аргументы по умолчанию
  15. Метод eq для сравнения объектов
  16. Удаление URL-адресов в Python
  17. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  18. Объединение списков в Python
  19. Создание спинбокса в tkinter
  20. Функция sleep() в Python
  21. Применение команды break
  22. Списковое включение в Python
  23. Выключение компьютера с помощью Python
  24. Управление мышью и клавиатурой с Pyautogui
  25. Имена объектов в Python
  26. Поиск шаблона в начале строки
  27. Частичное применение функций в Python
  28. Метод count в Python: почему count(», ») возвращает 4?
  29. Получение срезов итераторов
  30. Модуль os в Python: работа с файлами
  31. Форматирование строк с f-строками
  32. Шаблоны и наследование в Flask
  33. Округление банкира в Python
  34. Избегайте ошибку FileNotFoundError
  35. Метод __float__ в Python
  36. Объединение словарей в Python
  37. Названия переменных
  38. Разность множеств
  39. Удаление специальных символов
  40. Транспонирование 2D-массива с помощью zip
  41. Установка и использование модуля Wikipedia
  42. Упрощение условных выражений с тернарным оператором
  43. Особенности запятых в Python
  44. Объединение словарей в Python
  45. Docstring в Python
  46. Функция findall() для поиска вхождений строки
  47. Оператор распаковки в Python
  48. Нахождение хеша для бесконечности и NaN в Python

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