hash() Valor de hash do objeto
Última atualização: 2026-09-22
hash() Valor de hash do objeto
hash() retorna o valor de hash inteiro do objeto (objetos hashable); objetos idênticos (a is b) certamente têm o mesmo hash.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
hash(object)
⚙️ Parâmetros
| object Obrigatório | The object to hash; it must be hashable. |
|---|
Retorno:The integer hash of the object; equal objects always hash equal.
💥 Exceções
TypeError— Raised when the object is unhashable (e.g. list, dict, set).
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
529344067295497451
ℹ️ Informação Contêineres imutáveis geralmente são hashable; list / set / dict não são hashable.
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QPor que hash([1, 2]) levanta TypeError?
AUma lista é mutável — seu conteúdo pode mudar — então seu hash não pode ser estável, logo ela é não-hashable. O mesmo vale para dict e set.
QQuais objetos são hashable?
ATipos imutáveis costumam ser hashable: int, float, str, bytes, tuple, frozenset, None etc. Note que um tuple contendo uma lista também não é hashable.
QObjetos iguais sempre têm o mesmo hash?
ASempre em uma direção: se a == b, então hash(a) == hash(b). Mas o inverso não é garantido — objetos diferentes podem colidir no mesmo hash (hash igual não implica igualdade).
Qhash('abc') permanece o mesmo a cada execução do programa?
ANão necessariamente. O hash de strings é aleatorizado por padrão (PYTHONHASHSEED), então não é estável entre processos; não use valores de hash para persistência nem para passar entre processos.