diff options
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 +``` |
