Als «python-internals» getaggte Fragen

Wie funktioniert Python unter der Haube? Verwendung für Fragen, die sich (zum Beispiel) auf die getroffenen Entwurfsentscheidungen und die verwendeten internen Datenstrukturen und Algorithmen beziehen.





4
Sind Wörterbücher in Python 3.6+ bestellt?
Wörterbücher werden in Python 3.6 (zumindest unter der CPython-Implementierung) anders als in früheren Inkarnationen bestellt. Dies scheint eine wesentliche Änderung zu sein, ist jedoch nur ein kurzer Absatz in der Dokumentation . Es wird eher als CPython-Implementierungsdetail als als Sprachfunktion beschrieben, impliziert jedoch auch, dass dies in Zukunft zum Standard …

20
Wann ist del in Python nützlich?
Ich kann mir keinen Grund vorstellen, warum Python das delSchlüsselwort benötigt (und die meisten Sprachen scheinen kein ähnliches Schlüsselwort zu haben). Anstatt beispielsweise eine Variable zu löschen, könnte man Nonesie einfach zuweisen . Beim Löschen aus einem Wörterbuch kann eine delMethode hinzugefügt werden. Gibt es einen Grund, delin Python zu …


2
Warum sind einige Float <Integer-Vergleiche viermal langsamer als andere?
Beim Vergleich von Floats mit ganzen Zahlen dauert die Auswertung einiger Wertepaare viel länger als bei anderen Werten ähnlicher Größe. Beispielsweise: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 Wenn der Gleitkomma oder die Ganzzahl jedoch um einen bestimmten Betrag kleiner oder größer wird, läuft …

2
Warum ist 'x' in ('x',) schneller als 'x' == 'x'?
&gt;&gt;&gt; timeit.timeit("'x' in ('x',)") 0.04869917374131205 &gt;&gt;&gt; timeit.timeit("'x' == 'x'") 0.06144205736110564 Funktioniert auch für Tupel mit mehreren Elementen. Beide Versionen scheinen linear zu wachsen: &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' or 'x' …

8
Was ist die globale Interpretersperre (GIL) in CPython?
Was ist eine globale Interpretersperre und warum ist sie ein Problem? Beim Entfernen der GIL aus Python wurde viel Lärm gemacht, und ich würde gerne verstehen, warum das so wichtig ist. Ich habe selbst noch nie einen Compiler oder einen Interpreter geschrieben. Seien Sie also nicht sparsam mit Details, ich …






Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.