Pyrex es un lenguaje de programación para crear módulos de Python . Su sintaxis es muy similar a la de Python, lo que facilita a los programadores de Python escribir código que no sea compatible con Python para la interfaz de módulos en un lenguaje lo más parecido posible a Python.
Python solo proporciona una API de C para escribir módulos de extensión, lo que permite escribir funciones y tipos de datos en C. Estos pueden ser accedidos desde Python. Es posible encapsular las funciones y los tipos de datos de las bibliotecas de C existentes como objetos de Python y, por lo tanto, ponerlos a disposición de Python. [ 2 ]
Pyrex permite al usuario escribir módulos de extensión en un lenguaje similar a Python que puede acceder directamente al código C externo. La similitud de la sintaxis de Pyrex con la de Python facilita la escritura de módulos Python, pero existen algunas limitaciones funcionales. [ 3 ] El programador debe especificar el nombre de los archivos de cabecera C, las enumeraciones , los tipos de datos y las funciones a las que se debe acceder en el módulo; luego, se pueden usar como si fueran objetos Python. El compilador de Pyrex generará automáticamente el código de conexión necesario y compilará el código Pyrex en un módulo Python funcional.
Existen herramientas como SWIG o la biblioteca de funciones externas de Python, ctypes, que pueden utilizarse para esta tarea sin necesidad de mucho código adicional, pero esto se limita a hacer que una biblioteca externa esté disponible en el código Python. [ 4 ] [ 5 ] Si se necesitan ajustes a la API, el código de conexión debe escribirse manualmente.
Véase también
Referencias
- ↑ greg en cosc (3 de abril de 2002). "ANN: Pyrex : un lenguaje para escribir módulos de extensión de Python" . Recuperado el 24 de febrero de 2014 .
- ↑ Mark Lutz (2006). Programación en Python . O'Reilly Media . pág. 1461. ISBN 9780596554613.
- ↑ Alex Martelli (2009). Python en pocas palabras . O'Reilly Media . pág. 650. ISBN 9781449379100.
- ↑ Jang Hyuk Kwon; Thom Dunning; Kum Won Cho; Aurore Savoy-Navarro (2010). Future Application and Middleware Technology on E-Science . Springer US . p. 141. ISBN 9781441917195.
- ↑ Wesley Chun (2012). Core Python Applications Programming . Prentice Hall . pág. 385. ISBN 9780132678209.
Enlaces externos
- Sitio web oficial
- Compiladores libres y de código abierto
- Python (lenguaje de programación)
- Esbozos de programación informática