Вопрос

Является ли код, созданный Cython, всегда так же правильный, как и код Python, из которого он был произведен?

Это может помочь другим читателям обратиться к использованию объявлений статического типа цинтона и других функций цинтона (если таковые имеются), хотя меня интересует только случай создания файлов цинтона, переименовав модули Python до *.pyx.

Я забочусь только о подмножестве питона, покрытого цинтоном.

Это было полезно?

Решение

Вообще да. Конечно есть ошибки (Тем не менее, многие вращаются вокруг расширения подмножества Python, ошибки, которые фактически делают сгенерированный код C неверным, являются относительно редкими), и есть несколько необходимых предостережения (Хотя кажется, что только один пункт в этом коротком списке отвлекает от семантики Python).

Когда вы добавляете статические типы в режиме Pure Python, существуют обстоятельства, когда это имеет значение, будь то скомпилирован как цинтон или запускается как код Python. На ум приходят беспигнированные целые числа (пример: как упомянуто в одной ссылке выше, -n Будет обернуться, если n не подписывается и range(-n, n) следовательно, пуст), а также переполнение целого числа (Python продвигает intS (с longS) к longS (Abritary-Presigion integers)).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top