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.
Das range(10**6)zehnmalige Kopieren einer gemischten Liste dauert ungefähr 0,18 Sekunden: (Dies sind fünf Läufe.) 0.175597017661 0.173731403198 0.178601711594 0.180330912952 0.180811964451 Das zehnmalige Kopieren der nicht gemischten Liste dauert ungefähr 0,05 Sekunden: 0.058402235973 0.0505464636856 0.0509734306934 0.0526022752744 0.0513324916184 Hier ist mein Testcode: from timeit import timeit import random a = range(10**6) random.shuffle(a) # …
Nachdem ich in Pythons Quellcode eingetaucht bin, stelle ich fest, dass es ein Array von PyInt_Objects von int(-5)bis int(256)(@ src / Objects / intobject.c) enthält. Ein kleines Experiment beweist es: >>> a = 1 >>> b = 1 >>> a is b True >>> a = 257 >>> b = …
Also habe ich mit listObjekten gespielt und wenig Seltsames gefunden, das, wenn listes damit erstellt list()wird, mehr Speicher benötigt als Listenverständnis? Ich benutze Python 3.5.2 In [1]: import sys In [2]: a = list(range(100)) In [3]: sys.getsizeof(a) Out[3]: 1008 In [4]: b = [i for i in range(100)] In [5]: …
Dies ist eher eine konzeptionelle Frage. Ich habe kürzlich in Python einen Code gesehen (der in 2.7 funktioniert hat und möglicherweise auch in 2.5 ausgeführt wurde), in dem eine forSchleife denselben Namen sowohl für die Liste, über die iteriert wurde, als auch für das Element in der Liste verwendete , …
Ich bin auf dieses seltsame Verhalten gestoßen und habe es nicht erklärt. 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 = tuple(range(2000)); b = tuple(range(2000)); a==b" 10000 loops, best of 3: 70.7 usec …
Ich frage mich, warum eine Klasse __dict__eine ist mappingproxy, aber eine Instanz __dict__ist nur eine Ebenedict >>> class A: ... pass >>> a = A() >>> type(a.__dict__) <class 'dict'> >>> type(A.__dict__) <class 'mappingproxy'>
Aus dem Tweet hier : import sys x = 'ñ' print(sys.getsizeof(x)) int(x) #throws an error print(sys.getsizeof(x)) Wir erhalten 74, dann 77 Bytes für die beiden getsizeofAufrufe. Es sieht so aus, als würden wir dem Objekt 3 Bytes aus dem fehlgeschlagenen int-Aufruf hinzufügen. Einige weitere Beispiele von Twitter (möglicherweise müssen Sie …
Überraschenderweise gibt es keine explizite Dokumentation für __weakref__. Schwache Referenzen werden hier erklärt . __weakref__wird auch kurz in der Dokumentation von erwähnt __slots__. Aber ich konnte nichts über sich __weakref__selbst finden. Was genau ist __weakref__? - Ist es nur ein Mitglied, das als Flagge fungiert: Wenn vorhanden, kann das Objekt …
Beim Versuch, die Python-for-Schleife zu verstehen, dachte ich, dies würde das Ergebnis {1}für eine Iteration ergeben oder einfach in einer Endlosschleife stecken bleiben, je nachdem, ob die Iteration wie in C oder anderen Sprachen ausgeführt wird. Aber eigentlich tat es auch nicht. >>> s = {0} >>> for i in …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.