es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo construir una clase en C++ para usar en Python?

El PyMethodDef de Python.h permite especificar funciones creadas en Cpp para usar en Python. Sin embargo, hay muchas dudas acerca de si esto se puede aplicar a clases creadas en Cpp y no he encontrado nada parecido a PyClassDef, lo que presumiblemente me ayudaría a hacerlo. Todo lo que he logrado encontrar se refiere a los métodos de clase, pero no a la clase en sí. ¿Es posible construir una clase en C++ con el Python-C-API regular para usarla como una clase normal en Python?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible construir una clase en C++ con la API-Python regular para usar como clase regular en Python. Para hacer esto, necesitará usar la estructura PyTypeObject, que está definida en Python.h. Esta estructura le permite definir los métodos y atributos de la clase, así como el nombre del tipo y otra información. Además, deberá definir una estructura PyMethodDef para cada método que desee definir para la clase. Una vez que haya definido estas estructuras, puede usar la función PyType_Ready para registrar la clase en el intérprete de Python. Después de eso, puede usar la clase como una clase regular de Python.

Comments are closed.