Perguntas com a marcação «python-internals»

Como o Python funciona por baixo do capô? Use para perguntas relacionadas a (por exemplo) as decisões de design feitas e as estruturas de dados internos e algoritmos usados.







1
Por que str.translate é muito mais rápido no Python 3.5 em comparação com o Python 3.4?
Eu estava tentando remover caracteres indesejados de uma determinada string usando text.translate() Python 3.4. O código mínimo é: import sys s = 'abcde12345@#@$#%$' mapper = dict.fromkeys(i for i in range(sys.maxunicode) if chr(i) in '@#$') print(s.translate(mapper)) Funciona como esperado. No entanto, o mesmo programa quando executado em Python 3.4 e Python …





4
Quando o hash (n) == n está em Python?
Tenho brincado com a função hash do Python . Para números inteiros pequenos, aparece hash(n) == nsempre. No entanto, isso não se estende a grandes números: >>> hash(2**100) == 2**100 False Não estou surpreso, entendo que o hash assume uma faixa finita de valores. Qual é esse alcance? Tentei usar …

1
Por que tupla (conjunto ([1, “a”, “b”, “c”, “z”, “f”])) == tupla (conjunto ([“a”, “b”, “c”, “Z”, “f”, 1])) 85% das vezes com a randomização hash habilitada?
Dada a resposta de Zero Piraeus a outra pergunta , temos que x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) Imprime Truecerca de 85% das vezes com a randomização de hash habilitada. Por que 85%?


2
Quando os arquivos .pyc são atualizados?
Eu entendo que os arquivos ".pyc" são versões compiladas dos arquivos ".py" de texto simples, criados em tempo de execução para fazer os programas rodarem mais rápido. No entanto, observei algumas coisas: Após a modificação dos arquivos "py", o comportamento do programa muda. Isso indica que os arquivos "py" são …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.