Курс Python → Метод hash в Python
Метод сравнения объектов между собой, представленный в инструкции, является важным аспектом программирования на языке Python. В ней рассматривается класс Person с атрибутами name и age, где переопределен метод hash для генерации уникального хэша на основе значений этих атрибутов. При создании объектов person1 и person3 с одинаковыми значениями атрибутов, они будут иметь одинаковый хэш, что показывает, как работает метод hash.
Этот лайфхак полезен при работе с типами данных, которые используют хэширование для быстрого доступа, такими как словари или множества. Правильная реализация метода hash позволяет использовать объекты вашего класса как ключи в словарях или элементы в множествах. Это обеспечивает эффективность и уникальность при доступе к данным, что является важным аспектом при разработке программ на Python.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __hash__(self):
return hash((self.name, self.age))
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
print(hash(person1)) # Выведет уникальный хэш для объекта person1
print(hash(person2)) # Выведет уникальный хэш для объекта person2
В приведенном выше примере кода мы видим класс Person с переопределенным методом hash, который генерирует уникальный хэш на основе значений атрибутов name и age. При вызове функции hash для объектов person1 и person2, мы получаем уникальные хэши, что демонстрирует правильную работу метода сравнения объектов между собой на основе их хэшей.
Другие уроки курса "Python"
- Методы shutil для работы с файлами
- Работа с deque из collections
- Обновление данных через PUT запрос
- Работа с множествами в Python
- Подсчет элементов с помощью Counter
- Форматирование строк с % в Python
- Фильтрация входных данных в Python
- Переопределение метода __pow__
- Python: цикл for и оператор присваивания
- Структурирование именованных констант
- Преобразование чисел в восьмеричную строку
- Игра «Камень, ножницы, бумага» — Python
- Переопределение метода __or__()
- Метод init в Python
- Работа с путями в Python
- Хранение переменных в Python.
- Форматирование строк с помощью f-строк
- Нахождение разницы между списками в Python
- Работа с изображениями Pillow
- Создание словарей и множеств в Python.
- Создание списка дат
- Сериализация и десериализация объектов
- Перехват исключений в Python
- Python itertools combinations() — группировка элементов
- Передача параметров в Python
- Передача словаря через **kwargs
- Преобразование данных в Python
- Работа с контекстными переменными
- Возврат нескольких значений из функции
- Создание графиков в терминале
- Оператор del в Python
- Flask — веб-фреймворк Python
- Использование html-скриптов в Jupyter Notebook
- Приближение чисел в Python
- Объединение списков в Python.
- Поиск простых чисел
- Проверка списка: any() и all()
- Удаление дубликатов из списка с помощью dict.fromkeys
- Подсказки при вводе данных в Python
- Ускорение обработки данных с %autoawait
- Отправка POST-запроса в REST API
- Поиск уникальных элементов строкой в Python
- Работа с геоданными с помощью geopy
- Метод __complex__ в Python
- Оператор обр. импликации















