Если Python был настолько быстрым, как C, последний будет присутствовать в приложениях/библиотеках python?
Пример: если Python был быстр, так как C был бы полностью написан PIL в Python?
Для доступа к "устаревшим" библиотекам C и возможностям ОС.
Хотя вы можете, конечно, использовать ctypes для доступа к существующему C-коду, которого вы, возможно, не обязательно захотите, в достаточно сложных случаях: когда вы кодируете интерфейс, предназначенный для (и реализованный в) C, не выполнение компиляции может означать, что небольшие ошибки на стороне вызывающего абонента, которые просто отказываются правильно компилировать на C, могут привести к сбоям всего приложения.
Таким образом, использование кода C (а не ctypes
) с целью повторного использования хорошего существующего кода C может иметь большой смысл (Cython, конечно же, отлично, так как он генерирует код C, который в случае ошибок на стороне вызывающего абонента не должен компилироваться; -).
Перекодирование всего с нуля, а не повторное использование хорошего, существующего, прочного и точно настроенного кода, конечно, не имеет особого смысла, - есть так много интересных новых проблем, чтобы победить, что тратить свое время просто на подражание существующее, простое решение для старой и уже завоеванной проблемы, скорее всего, не будет лучшим, наиболее продуктивным и наиболее удовлетворительным способом потратить ваше время; -).
Имеет смысл использовать C-модули в Python для:
Что касается вашего примера: Да, но Python по своей природе медленнее C. Если бы оба были одинаково быстры, было бы полезно использовать Python, потому что код C часто более подвержен атакам (переполнение буфера и прочее).
Для доступа к оборудованию.