Курс 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"
- Показ всплывающих окон Tkinter
- Анализ текста на русском языке с помощью Pymystem3
- Добавление элемента к кортежу
- Множественное назначение в Python
- Управление сессиями в Python
- Применение функции к списку
- Поиск подстроки в строке
- Профилирование кода на Python
- Импорт с альтернативным именем
- Лимиты на ресурсы Python
- Улучшенные подсказки для импорта в Python 3.12
- Методы split() и join() — Python строк.
- Структура строк в Python
- Метод Self в Python
- Применение функции к списку
- Основные функции и модули Python
- Оператор морж в Python 3.8
- Работа с часовыми поясами в Python
- Определение индекса элемента списка
- Многострочные строки в Python
- Работа с библиотекой requests
- Преобразование объекта в строку
- Управление ресурсами в Python
- Оптимизация памяти с slots
- Оператор обр. импликации
- Методы __repr__ и __str__ в Python
- Использование html-скриптов в Jupyter Notebook
- Оператор += для объединения строк
- Виртуальное окружение Python
- Поиск индекса элемента
- Синхронизация потоков с time.sleep()
- Методы HTTP запросов в Flask
- Сортировка слиянием
- Обход дочерних элементов BeautifulSoup
- Округление в Python
- Проверка подстроки в строке с помощью in
- Работа с *args и **kwargs в Python
- Работа со временем в Python
- capitalize() — изменение регистра первого символа строки
- Создание списков в Python
- Измерение времени выполнения
- Модуль inspect
- Глобальные переменные в Python















