Referencyjna implementacja języka programowania Python. Użyj tego tagu w przypadku pytań specyficznych dla tej implementacji, ogólne pytania Pythona powinny być po prostu oznaczone tagiem „python”.
def main(): for i in xrange(10**8): pass main() Ten fragment kodu w Pythonie jest uruchamiany (Uwaga: synchronizacja odbywa się za pomocą funkcji czasu w BASH w systemie Linux). real 0m1.841s user 0m1.828s sys 0m0.012s Jeśli jednak pętla for nie jest umieszczona w funkcji, for i in xrange(10**8): pass wtedy działa …
Dużo słyszałem o projekcie PyPy . Twierdzą, że jest 6,3 razy szybszy niż interpreter CPython na ich stronie . Ilekroć mówimy o dynamicznych językach, takich jak Python, szybkość jest jednym z najważniejszych problemów. Aby rozwiązać ten problem, mówią, że PyPy jest 6,3 razy szybszy. Druga kwestia to równoległość, niesławna blokada …
Co to za zamieszanie w Python i CPython (Jython, IronPython) , nie rozumiem: python.org wspomina, że CPython to: „Tradycyjna” implementacja Pythona (pseudonim CPython) jeszcze jedno pytanie przepełnienia stosu wspomina, że: CPython to domyślny interpreter bajt-kodu Pythona, napisany w C. Szczerze mówiąc, nie rozumiem, co właściwie oznaczają oba te wyjaśnienia, ale …
Porównując liczby zmiennoprzecinkowe z liczbami całkowitymi, ocena niektórych par zajmuje znacznie więcej czasu niż innych wartości o podobnej wielkości. Na przykład: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1 million times 0.5387085462592742 Ale jeśli liczba zmiennoprzecinkowa lub liczba całkowita zostanie zmniejszona lub powiększona o określoną wartość, porównanie przebiega …
Widziałem ludzi, którzy mówili, że setobiekty w Pythonie mają sprawdzanie członkostwa O (1). Jak są wdrażane wewnętrznie, aby to umożliwić? Jakiego rodzaju struktury danych używa? Jakie inne konsekwencje ma to wdrożenie? Każda odpowiedź była naprawdę pouczająca, ale mogę zaakceptować tylko jedną, więc podam najbliższą odpowiedź na moje pierwotne pytanie. Dzięki …
Wygląda na list(a)to, że totalocate, [x for x in a]totalocates w niektórych momentach i [*a]totalocate przez cały czas ? Oto rozmiary n od 0 do 12 i wynikowe rozmiary w bajtach dla trzech metod: 0 56 56 56 1 64 88 88 2 72 88 96 3 80 88 104 …
Bawiłem się czasem i zauważyłem, że wykonanie prostego rozumienia listy na małym łańcuchu trwało dłużej niż wykonanie tej samej operacji na liście małych ciągów pojedynczych znaków. Jakieś wyjaśnienie? To prawie 1,35 razy więcej czasu. >>> from timeit import timeit >>> timeit("[x for x in 'abc']") 2.0691067844831528 >>> timeit("[x for x …
Biorąc pod uwagę odpowiedź Zero Piraeus 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 Trueokoło 85% czasu z włączoną losowością mieszania . Dlaczego 85%?
Chcę uzyskać dostęp do niektórych zestawów .NET napisanych w C # z kodu Pythona. Małe badania wykazały, że mam dwie możliwości: IronPython z wbudowanym interfejsem .NET Python z pakietem Python .NET Jakie są kompromisy między oboma rozwiązaniami?
Więc bawiłem się listobiektami i znalazłem małą dziwną rzecz, która jeśli listzostanie utworzona za pomocą list()tego, zużywa więcej pamięci niż rozumienie listy? Używam Pythona 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]: …
W Pythonie (2 i 3). Ilekroć używamy wycinania list, zwraca nowy obiekt, np .: l1 = [1,2,3,4] print(id(l1)) l2 = l1[:] print(id(l2)) Wynik >>> 140344378384464 >>> 140344378387272 Jeśli to samo powtarza się z krotką, zwracany jest ten sam obiekt, np .: t1 = (1,2,3,4) t2 = t1[:] print(id(t1)) print(id(t2)) Wynik …
Proste repro: class VocalDescriptor(object): def __get__(self, obj, objtype): print('__get__, obj={}, objtype={}'.format(obj, objtype)) def __set__(self, obj, val): print('__set__') class B(object): v = VocalDescriptor() B.v # prints "__get__, obj=None, objtype=<class '__main__.B'>" B.v = 3 # does not print "__set__", evidently does not trigger descriptor B.v # does not print anything, we overwrote …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.