Вопросы с тегом «cpython»

Эталонная реализация языка программирования Python. Используйте этот тег для вопросов, относящихся к этой реализации, общие вопросы Python должны быть просто помечены тегом «python».

836
Почему код Python работает быстрее в функции?

def main(): for i in xrange(10**8): pass main() Этот фрагмент кода на Python выполняется (Примечание: синхронизация выполняется с помощью функции времени в BASH в Linux.) real 0m1.841s user 0m1.828s sys 0m0.012s Тем не менее, если цикл не помещается в функцию, for i in xrange(10**8): pass тогда он...

686
Почему я не должен использовать PyPy поверх CPython, если PyPy работает в 6,3 раза быстрее?

Я много слышал о проекте PyPy . Они утверждают, что это в 6,3 раза быстрее, чем интерпретатор CPython на их сайте . Всякий раз, когда мы говорим о динамических языках, таких как Python, скорость является одной из главных проблем. Чтобы решить эту проблему, говорят, что PyPy работает в 6,3 раза...

447
Python против Cpython

Что это за шум вокруг Python и CPython (Jython, IronPython) , я не понимаю: python.org упоминает, что CPython это: «Традиционная» реализация Python (по прозвищу CPython) еще один вопрос переполнения стека упоминает, что: CPython является интерпретатором байт-кода по умолчанию Python, который...

284
Почему некоторые сравнения с плавающей запятой в четыре раза медленнее других?

При сравнении значений с плавающей точкой и целых чисел некоторым парам значений требуется гораздо больше времени для оценки, чем другим значениям схожей величины. Например: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1 million times...

152
Как реализовано set ()?

Я видел, как люди говорят, что setобъекты в Python имеют O (1) проверку членства. Как они реализованы внутри, чтобы позволить это? Какую структуру данных он использует? Какие еще последствия имеет эта реализация? Каждый ответ здесь был действительно поучительным, но я могу принять только один,...

136
Что вызывает [* a] перераспределение?

По-видимому list(a), не перераспределяет, [x for x in a]перераспределяет в некоторых точках, и [*a]перераспределяет все время ? Вот размеры n от 0 до 12 и результирующие размеры в байтах для трех методов: 0 56 56 56 1 64 88 88 2 72 88 96 3 80 88 104 4 88 88 112 5 96 120 120 6 104 120 128 7 112 120...

132
Почему перебор небольшой строки медленнее, чем перебора небольшого списка?

Я играл с timeit и заметил, что выполнение простого понимания списка для небольшой строки занимает больше времени, чем выполнение той же операции со списком небольших односимвольных строк. Любое объяснение? Это почти в 1,35 раза больше времени. >>> from timeit import timeit >>>...

97
Почему tuple (set ([1, «a», «b», «c», «z», «f»])) == tuple (set ([«a», «b», «c», «Z», «f», 1])) 85% времени с включенной рандомизацией хэша?

Учитывая ответ Нуля Пирея на другой вопрос , мы имеем x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) Печатает Trueпримерно 85% времени с включенной случайностью хеширования . Почему 85%?...

88
IronPython против Python .NET

Я хочу получить доступ к некоторым сборкам .NET, написанным на C #, из кода Python. Небольшое исследование показало, что у меня есть два варианта: IronPython с возможностью интерфейса .NET / встроенной поддержкой Python с пакетом Python .NET Каковы компромиссы между обоими решениями?...

79
list () использует немного больше памяти, чем понимание списка

Итак, я играл с listобъектами и обнаружил небольшую странную вещь, которая, если listсоздается с list()ее помощью, использует больше памяти, чем понимание списка? Я использую 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...

12
Разрезание кортежей не возвращает новый объект, в отличие от разрезания списка

В Python (2 и 3). Всякий раз, когда мы используем нарезку списка, он возвращает новый объект, например: l1 = [1,2,3,4] print(id(l1)) l2 = l1[:] print(id(l2)) Вывод >>> 140344378384464 >>> 140344378387272 Если то же самое повторяется с кортежем, возвращается тот же объект,...