Курс 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"
- Python: изменяемые и неизменяемые коллекции
- Объединение списков в строку
- Атрибуты класса и экземпляра
- Создание и инициализация объектов
- Передача параметров в Python
- Переопределение оператора % для объектов
- Подсчет частоты элементов с Counter
- Разделение строки на пары ключ-значение.
- Работа со строками в Python
- Удаление элементов по срезу
- Генераторы словарей и множеств
- Переопределение метода len
- Получение пути к текущему скрипту с помощью os
- JSON в Python: модуль, dump, dumps, load
- Применение функции к элементам списка
- Основы Python за 14 дней
- Метод pos в Python
- Открытие и запись файлов
- Сортировка элементов с OrderedDict
- Метод setdefault() в Python
- Преобразование текста в нижний регистр
- Замена элементов в списке с помощью генераторов списков
- Проверка версии Python
- Работа с срезами в Python
- Работа с комплексными числами
- Подсчет элементов в Python
- Конкатенация строк в Python
- Сокращение ссылок с pyshorteners
- Генераторы в Python
- Преобразование кортежа в словарь.
- Курс по дообучению ChatGPT
- Лямбда-функции в Python
- Оптимизация строк в Python
- Работа с изображениями Pillow
- Работа с атрибутом dict
- Декодирование строк в Python
- Работа с пользовательским вводом
- Удаление элементов из списка
- Numpy: объединение массивов
- Преобразование символов в нижний регистр
- Обезопасьте ввод данных
- Проверка подстроки в строке с помощью in
- Очистка списка от False, None, 0, «»
- Создание GUI с Tkinter: Entry
- Удаление символа из строки















