Tag: python-internals
Wie funktioniert die Python arbeiten unter der Haube? Verwenden Sie bei Fragen zu (zum Beispiel) die design-Entscheidungen und die internen Datenstrukturen und algorithmen verwendet.
1
Antworten
Angesichts Null Piräus Antwort auf eine andere Frage, die wir haben, dass x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) Drucke True etwa 85% der Zeit
2
Antworten
Dem ich begegnet bin, dieses seltsame Verhalten und versäumt, es zu erklären. Dies sind die benchmarks: py -3 -m timeit "tuple(range(2000)) == tuple(range(2000))" 10000 loops, best of 3: 97.7 usec per loop py -3 -m timeit "a
2
Antworten
Alles in Python ist ein Objekt. Also die Größe von int in Python größer sein wird als üblich. >>> sys.getsizeof(int()) 24 OK, aber warum dauert es noch 12 weitere bytes für 2⁶³ im Vergleich zu 2⁶³ -
4
Antworten
Was ist die große O der folgenden if statement? if "pl" in "apple": ... Was ist das Allgemeine big O wie python bestimmt, ob die Zeichenfolge "pl" gefunden wird, in der Zeichenfolge "Apfel" oder andere Teilzeichenfolge in
4
Antworten
Beazley S. 100 erwähnt: >>>python.__closure__ (<cell at 0x67f50: str object at 0x69230>,) >>>python.__closure__[0].cell_contents mein Verständnis ist, dass __closure__ ist eine Liste, aber was ist das Zelle Zeugs und str-Objekt?? Das sieht aus wie ein 1-Fach-Tupel? InformationsquelleAutor |
2
Antworten
Tut der Umwandlung von der veränderlichen bytearray geben, um den non-mutable bytes Art entstehen, eine Kopie? Ist es mit Kosten verbunden ist, oder muss der interpreter nur behandeln es als eine unveränderliche byte-Sequenz ist, wie Gießen eine
3
Antworten
Warum str(list) gibt, wie wir sehen Liste auf der Konsole? Wie funktioniert str(list) Arbeit? (jede Bezugnahme auf den CPython-code für str(list))? >>> x = ['abc', 'def', 'ghi'] >>> str(x) "['abc', 'def', 'ghi']" Um die ursprüngliche Liste wieder
1
Antworten
War ich versucht, um unerwünschte Zeichen aus einer angegebenen Zeichenfolge mit text.translate() in Python 3.4. Den minimal-code ist: import sys s = 'abcde12345@#@$#%$' mapper = dict.fromkeys(i for i in range(sys.maxunicode) if chr(i) in '@#$') print(s.translate(mapper)) Funktioniert es
3
Antworten
Ich brauche ein schneller Weg zum speichern und zugreifen von rund 3GB k:v Paare. Wo k ist ein string oder eine integer und v ist ein np.array() werden können, von verschiedenen Formen. Gibt es irgendein Objekt, das
4
Antworten
Einen tuple nimmt weniger Speicherplatz in Python: >>> a = (1,2,3) >>> a.__sizeof__() 48 in der Erwägung, dass lists braucht mehr Speicherplatz: >>> b = [1,2,3] >>> b.__sizeof__() 64 Was geschieht intern auf die Python Speicherverwaltung? Ich
5
Antworten
Verstehe ich, dass die sets in Python sind ungeordnet, aber ich bin neugierig 'um' Sie sind angezeigt, in der, wie es scheint, konsequent zu sein. Sie zu sein scheinen out-of-order in der gleichen Art und Weise jedes
3
Antworten
Wörterbücher sind bestellt in Python 3.6 (unter der CPython-Implementierung zumindest) anders als in früheren Inkarnationen. Dies scheint eine wesentliche änderung, aber es ist nur ein kurzer Absatz in der Dokumentation. Es wird beschrieben, wie ein CPython-Implementierung detail
8
Antworten
Was ist eine Globale interpreter-Sperre und warum ist es ein Problem? Viel Lärm, der gemacht wurde, um das entfernen der GIL von Python, und ich würde gerne verstehen, warum das so wichtig ist. Ich habe nie geschrieben,
4
Antworten
Beiden Variablen in Python haben die gleichen id: a = 10 b = 10 a is b >>> True Wenn ich zwei lists: a = [1, 2, 3] b = [1, 2, 3] a is b >>>
5
Antworten
Wie greifen Sie andere Klasse die Variablen aus einer Liste Verständnis innerhalb der Klasse definition? Die folgenden Werke in Python 2, aber scheitert in Python 3: class Foo: x = 5 y = [x for i in
6
Antworten
In Python für *nix, tut time.sleep() den thread blockiert, oder der Prozess? InformationsquelleAutor der Frage Jeremy Dunck | 2008-09-18
7
Antworten
Ist es keine performance-Unterschied zwischen Tupel und Listen, wenn es um die Instanziierung und abrufen von Elementen? InformationsquelleAutor der Frage Readonly | 2008-09-16
1
Antworten
Ich Frage mich, was ist genau der code, der ausgeführt wird, den Befehl: >>> from __future__ import braces SyntaxError: not a chance so, da python ist open-Source, öffnete ich C:\Python27\Lib\__future__.py und sah. erstaunlich, ich fand nichts, das
6
Antworten
Gibt es eine Möglichkeit zu sehen, wie die eingebauten Funktionen arbeiten in python? Ich meine nicht nur wie Sie zu benutzen, sondern auch, wie wurden Sie gebaut, was ist der code hinter sortiert oder aufzählen etc...? InformationsquelleAutor
3
Antworten
Welcher Algorithmus ist die eingebaute sort() Methode in Python verwenden? Ist es möglich, einen Blick auf den code für die Methode? InformationsquelleAutor der Frage Johannes | 2009-10-04
1
Antworten
Ich finde, dass wenn ich die Initialisierung einer leeren Wörterbuch am Anfang, und dann das hinzufügen von Elementen, um das Wörterbuch in einer for-Schleife (rund 110.000 Tasten, wird der Wert für jeden Schlüssel ist eine Liste, auch
3
Antworten
Wörterbücher sind bestellt in Python 3.6 (unter der CPython-Implementierung zumindest) anders als in früheren Inkarnationen. Dies scheint eine wesentliche änderung, aber es ist nur ein kurzer Absatz in der Dokumentation. Es wird beschrieben, wie ein CPython-Implementierung detail
2
Antworten
Ich verstehe, dass ".pyc" - Dateien sind kompilierte Versionen der plain-text ".py" Dateien, die zur Laufzeit angelegt, um Programme schneller laufen. Allerdings habe ich beobachtet, dass Sie ein paar Dinge: Nach der änderung "py" Dateien, Programm-Verhalten ändert.
7
Antworten
Es ist mein Verständnis, dass die range() Funktion, die eigentlich ein Objekt-Typ in Python 3generiert seine Inhalte auf den zu Fliegen, ähnlich wie ein generator. Sollte dies der Fall sein, hätte ich erwartet, daß Sie die folgende
7
Antworten
Ich würde gerne verstehen, wie die built-in Funktion property funktioniert. Was mich verwirrt ist, dass property können auch verwendet werden, als Dekorateur, aber es braucht nur Argumente wenn verwendet, wie eine eingebaute Funktion und nicht als Dekorateur.
7
Antworten
Also nur zu schaffen, ich fühle mich wie ich verstehen den Unterschied zwischen copy vs. deepcopy im copy-Modul und ich habe copy.copy und copy.deepcopy vor erfolgreich, aber dies ist das erste mal, ich habe eigentlich Weg über
3
Antworten
Ich war Herumspielen mit timeit und bemerkt, dass dabei eine einfache Liste Verständnis über einen kleinen string länger gedauert, als wenn die gleiche operation auf einer Liste von kleinen Einzel-Zeichen-strings. Irgendeine Erklärung? Es ist fast 1,35 mal
2
Antworten
Wie greifen Sie andere Klasse die Variablen aus einer Liste Verständnis innerhalb der Klasse definition? Die folgenden Werke in Python 2, aber scheitert in Python 3: class Foo: x = 5 y = [x for i in
6
Antworten
Ich verstehe nicht, wie looping über ein Wörterbuch oder einen Satz in python geschieht durch 'willkürliche' um. Ich meine, es ist eine Programmiersprache, so dass alles in der Sprache zu 100% bestimmt, richtig? Python muss auf irgendeine
7
Antworten
Ist es eine verkettete Liste, ein array? Ich suchte herum und fand nur Menschen raten. Meine C-Kenntnisse nicht gut genug, um sich den Quellcode ansehen. InformationsquelleAutor der Frage Greg | 2010-10-12
3
Antworten
Warum ist x**4.0 schneller als x**4? Ich bin mit CPython 3.5.2. $ python -m timeit "for x in range(100):" " x**4.0" 10000 loops, best of 3: 24.2 usec per loop $ python -m timeit "for x in
2
Antworten
Ich bin mir dessen bewusst,das standard-Beispiel: wenn Sie ausführen, ein Modul direkt, dann ist es __name__ Globale variable ist definiert als "__main__". Jedoch, nirgends in der Dokumentation finde ich eine genaue Beschreibung, wie __name__ definiert ist, im
2
Antworten
Beim Vergleich von Schwimmern, die zu ganzen zahlen, einige Paare der Werte dauert aber viel länger evaluiert werden als andere Werte in einer ähnlichen Grössenordnung bewegen. Beispiel: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1
17
Antworten
Kann ich nicht wirklich denke, dass aus irgendeinem Grund, warum python muss die del keyword (und die meisten Sprachen scheinen nicht haben ein ähnliches Schlüsselwort). Anstatt zum Beispiel wenn Sie eine variable löschen, könnte man nur zuweisen
3
Antworten
Ich erwartet array.array schneller zu sein als die Listen, die als arrays zu sein scheinen, ohne Verpackung. Allerdings bekomme ich das folgende Ergebnis: In [1]: import array In [2]: L = list(range(100000000)) In [3]: A = array.array('l',
2
Antworten
>>> timeit.timeit("'x' in ('x',)") 0.04869917374131205 >>> timeit.timeit("'x' == 'x'") 0.06144205736110564 Funktioniert auch für Tupel mit mehreren Elementen, beide Versionen scheinen zu wachsen Linear: >>> timeit.timeit("'x' in ('x', 'y')") 0.04866674801541748 >>> timeit.timeit("'x' == 'x' or 'x' == 'y'")
1
Antworten
War ich versucht, um unerwünschte Zeichen aus einer angegebenen Zeichenfolge mit text.translate() in Python 3.4. Den minimal-code ist: import sys s = 'abcde12345@#@$#%$' mapper = dict.fromkeys(i for i in range(sys.maxunicode) if chr(i) in '@#$') print(s.translate(mapper)) Funktioniert es