Hash tables: como funcionam dicts e sets
03/11/2023 , Sala Uva

Python é feito de dicionários: módulos, classes, e funções dependem deles para funcionar. Nessa palestra veremos como dict é implementado sobre hash tables, e suas mais recentes otimizações.


Atributos de classes e de instâncias, espaços de nomes de módulos e argumentos nomeados de funções são alguns dos elementos fundamentais do Python representados na memória por dicionários. Até mesmo os tipos, funções e objetos embutidos são acessados através de um dicionário chamado __builtins__.__dict__.

Nesta palestra veremos:

  • O algoritmo e as estruturas de dados de tabelas de hash começando por seu uso em set, que é mais simples de entender.

  • A otimização de memória que preserva a ordem de inserção de chaves em instâncias de dict (desde o Python 3.6) .

  • O layout do compartilhamento de chaves em dicionários que mantêm atributos de instância—o __dict__ de objetos definidos pelo usuário (otimização implementada no Python 3.3).

Autor do livro Python Fluente, publicado em 9 idiomas. Consultor na Thoughtworks Brasil. Co-fundador da Associação Python Brasil e do Garoa Hacker Clube.