diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /PYTHON/hash() - хэширование.md | |
First
Diffstat (limited to 'PYTHON/hash() - хэширование.md')
| -rw-r--r-- | PYTHON/hash() - хэширование.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/PYTHON/hash() - хэширование.md b/PYTHON/hash() - хэширование.md new file mode 100644 index 0000000..6f9e143 --- /dev/null +++ b/PYTHON/hash() - хэширование.md @@ -0,0 +1,19 @@ +Хэш — это целое число фиксированного размера, которое идентифицирует определенное значение. Каждое уникальное значение должно иметь свой собственный хэш. + +Для хэширования значений есть встроенная (её не надо устанавливать или импортировать) функция hash(). Используется в основном для сравнения разных объектов — сравнивать хэши легче и выгоднее. + +Однако изменяемые объекты по типу списков и словарей нельзя хэшировать — интерпретатор выдаст ошибку. + +Кстати, есть две пасхалки. Хэш бесконечности равен первым цифрам числа Пи, а хэш Not a Number равен нулю. + +А ещё бывают коллизии: например, хэши чисел -1 и -2 одинаковы. + +```python +hash(42) # 42 +hash(1) # 1 +hash((1, 2, 3, 4)) # 590899387183067792 +hash('hi') # 2211653411235407625 +hash(float('inf')) # 314159 +hash(float 'nan' )) # 0 +hash(-1) == hash(-2) # True +``` |
