Domande taggate «python-internals»

Come funziona Python sotto il cofano? Utilizzare per domande relative (ad esempio) alle decisioni di progettazione prese e alle strutture dati interne e agli algoritmi utilizzati.





4
I dizionari sono ordinati in Python 3.6+?
I dizionari sono ordinati in Python 3.6 (almeno con l'implementazione di CPython) a differenza delle precedenti incarnazioni. Sembra un cambiamento sostanziale, ma è solo un breve paragrafo nella documentazione . È descritto come un dettaglio dell'implementazione di CPython piuttosto che una funzionalità del linguaggio, ma implica anche che questo potrebbe …

20
Quando è utile in Python?
Non riesco davvero a pensare ad alcun motivo per cui python abbia bisogno della delparola chiave (e la maggior parte delle lingue sembra non avere una parola chiave simile). Ad esempio, anziché eliminare una variabile, si potrebbe semplicemente assegnare Nonead essa. E quando si elimina da un dizionario, delè possibile …


2
Perché alcuni confronti float <interi sono quattro volte più lenti di altri?
Quando si confrontano float con numeri interi, alcune coppie di valori richiedono molto più tempo per essere valutate rispetto ad altri valori di grandezza simile. Per esempio: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 Ma se il float o l'intero viene ridotto o ingrandito …

2
Perché 'x' in ('x',) è più veloce di 'x' == 'x'?
&gt;&gt;&gt; timeit.timeit("'x' in ('x',)") 0.04869917374131205 &gt;&gt;&gt; timeit.timeit("'x' == 'x'") 0.06144205736110564 Funziona anche con tuple con più elementi, entrambe le versioni sembrano crescere in modo lineare: &gt;&gt;&gt; timeit.timeit("'x' in ('x', 'y')") 0.04866674801541748 &gt;&gt;&gt; timeit.timeit("'x' == 'x' or 'x' == 'y'") 0.06565782838087131 &gt;&gt;&gt; timeit.timeit("'x' in ('y', 'x')") 0.08975995576448526 &gt;&gt;&gt; timeit.timeit("'x' == 'y' …

8
Cos'è il blocco dell'interprete globale (GIL) in CPython?
Che cos'è un blocco dell'interprete globale e perché è un problema? È stato fatto molto rumore rimuovendo il GIL da Python e mi piacerebbe capire perché sia ​​così importante. Non ho mai scritto un compilatore né un interprete, quindi non essere frugale con i dettagli, probabilmente avrò bisogno che capiscano.






Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.