cpython

Dlaczego Kod Pythona działa szybciej w funkcji?

def main(): for i in xrange(10**8): pass main() Ten fragment kodu w Pythonie działa w (Uwaga: czas jest wykonyw ... pass Potem działa przez znacznie dłuższy czas: real 0m4.543s user 0m4.524s sys 0m0.012s Dlaczego tak jest?

Python vs Cpython

Co to za zamieszanie o Pythonie i Cpythonie (Jython,IronPython) , nie rozumiem: Python.org wspomina, że CPython jest: ... on i czym się różni w porównaniu z Pythonem i czy powinienem używać Cpythona nad Pythonem, a jeśli tak, jakie są jego zalety?

Dlaczego iteracja nad małym ciągiem jest wolniejsza niż mała lista?

Bawiłem się timeit i zauważyłem, że proste zrozumienie listy przez mały ciąg zajmuje więcej czasu niż wykonanie tej samej ope ... 8 >>> timeit("[x for x in ['a', 'b', 'c']]") 1.5286479570345861 Co się dzieje na niższym poziomie, co to powoduje?

Jak zaimplementowana jest funkcja set ()?

Widziałem, jak ludzie mówią, że set obiekty w Pythonie mają o(1) sprawdzanie członkostwa. W jaki sposób są one wdrażane wewnę ... , ale mogę zaakceptować tylko jedną, więc pójdę z najbliższą odpowiedzią na moje pierwotne pytanie. Dzięki wszystkim za info!

Jak dokładnie jest uruchamiany bajtowy Kod Pythona w CPython?

Staram się zrozumieć, jak działa Python (ponieważ używam go cały czas!). Z tego co wiem, kiedy uruchamiasz coś takiego jak py ... przekonwertowany na kod maszynowy? Czy interpreter Pythona jest już w kodzie maszynowym, więc mój skrypt nigdy nie musi być?

Dlaczego (0-6) jest -6 = False? [duplikat]

Możliwy duplikat:Operator Pythona " is " zachowuje się nieoczekiwanie z liczbami całkowitymi Dzisiaj próbowałem debu ... lt;type 'int'> >>> type(-6) <type 'int'> >>> type((0-6) is -6) <type 'bool'> >>>

IronPython vs. Python.NET

Chcę uzyskać dostęp do niektórych zestawów. NET napisanych w C# z kodu Pythona. Małe badania wykazały, że mam dwa wyjścia: ... Python z wbudowaną obsługą interfejsu. NET Python z Python. NET pakiet Jakie są kompromisy między obydwoma rozwiązaniami?

Dlaczego tuple (set ([1,"a","b","c","z","f"])) == tuple (set (["a","b","c","z","f",1])) 85% czasu z włączoną randomizacją skrótu?

Biorąc pod uwagę Zero odpowiedzi Pireusa na inne pytanie , Mamy To x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) Drukuje True około 85% czasu z włączoną randomizacją skrótu . Dlaczego 85%?

list() wykorzystuje więcej pamięci niż zrozumienie listy

Więc bawiłem się list obiektami i znalazłem małą dziwną rzecz, że jeśli list jest tworzony z list() to zużywa więcej pamięci, ... ;> import sys >>> sys.getsizeof(list(xrange(100))) 1016 >>> sys.getsizeof([i for i in xrange(100)]) 920

Co powoduje, że [*a] nadmierny przydział?

Najwyraźniej list(a) nie nadalokuje, [x for x in a] nadalokuje w niektórych punktach, a [*a] nadalokuje cały czas? Tutaj ... ódłowy? (Colab z danymi i kodem , które tworzyły obrazy.) Powiększenie do mniejszego n: Powiększenie do większego n:

Dlaczego kod używając zmiennych pośrednich jest szybszy niż kod bez?

Spotkałam się z tym dziwnym zachowaniem i nie udało mi się tego wyjaśnić. Są to benchmarki: py -3 -m timeit "tuple(range(20 ... Pythona z pętlami timeit.timeit() @ 10000 dało odpowiednio 0.703 i 0.804. Nadal pokazuje, choć w mniejszym stopniu. (~12.5%)

list() wykorzystuje nieco więcej pamięci niż zrozumienie listy

Więc bawiłem się list obiektami i znalazłem małą dziwną rzecz, że jeśli list jest tworzony z list() to zużywa więcej pamięci, ... ;> import sys >>> sys.getsizeof(list(xrange(100))) 1016 >>> sys.getsizeof([i for i in xrange(100)]) 920

Wydrukować na standardowej drukarce z Pythona?

Czy istnieje dość standardowy i wieloplatformowy sposób drukowania tekstu (lub nawet PS/PDF) na drukarce zdefiniowanej w systemie? Zakładając CPython tutaj, nie jest to coś sprytnego, jak użycie Jython i Java printing API .

Jak wczytać C# dll w Pythonie?

Jak mogę załadować C# dll w Pythonie? Czy muszę dodawać jakiś dodatkowy kod do plików c#? (jak eksport w plikach c++) Nie chcę używać IronPython. Chcę zaimportować moduł do Pythona!

Python string' in ' algorytm implementacji operatora i złożoność czasu

Myślę o tym, jak Operator in zaimplementuje, na przykład >>> s1 = 'abcdef' >>> s2 = 'bcd' >>> s2 ... o implementacji dopasowania łańcuchów i jaka jest złożoność czasowa? Czy jest jakiś oficjalny dokument lub wiki na ten temat?

Alokacja pamięci CPython

Jest to post inspirowany komentarzem o tym, jak pamięć jest przydzielana obiektom w Cpythonie. Początkowo było to w kontekśc ... ć powiązane. Mimo to, chętnie podzielę to na kilka postów, jeśli tak jest (proszę dać mi znać, aby to zrobić w komentarzach)

Dlaczego Python 3 jest znacznie wolniejszy od Pythona 2? [duplikat]

To pytanie ma już odpowiedź tutaj: czy jest powód, dla którego Python 3 wylicza się wolniej niż Python ... nawiam się, jaka zmiana z 2.7 NA 3.4 jest naprawdę przyczyną tej ogromnej zmiany w czas wykonania w podanym fragmencie kodu.

deque.popleft () i list.pop(0) Czy jest różnica w wydajności?

deque.popleft() i list.pop(0) wydają się zwracać ten sam wynik. Czy jest między nimi jakakolwiek różnica w wydajności i dlaczego?

Dlaczego rozmiar 2⁶3 to 36 bajtów, ale 2⁶3 - 1 to tylko 24 bajty?

Wszystko w Pythonie jest obiektem. Tak więc Rozmiar int w Pythonie będzie większy niż zwykle. >>> sys.getsizeof(int ... ała trochę inaczej, ale nie bardziej intuicyjnie. Tutaj skupiłem się na Pythonie 2.7; nie testowałem na poprzednich wersjach.