Me gustaría obtener una lista de python, digamos, [1,2,3,4] , de un script de C ++. Escribí el script C ++, que devuelve un vector. ¿Cómo conectar los extremos sin SWIG / SIP / Cython / y otros? ¿Podría ser más fácil simplemente comstackr C ++ en un archivo .exe o elf y luego llamar […]
¿Cómo funciona la carga del módulo en CPython debajo del capó? Especialmente, ¿cómo funciona la carga dinámica de extensiones escritas en C? ¿Dónde puedo aprender sobre esto? Encuentro el código fuente en sí bastante abrumador. Puedo ver que trusty ‘ dlopen() y friends se usan en sistemas que lo admiten, pero sin una idea más […]
Esta pregunta está relacionada con una pregunta anterior que hice. A saber este si alguien está interesado. Básicamente, lo que quiero hacer es exponer una matriz de C a Python usando un Py_buffer envuelto en un objeto de vista de memoryview . Lo hice funcionar usando PyBuffer_FillInfo (trabajo = puedo manipular los datos en Python […]
Sentí curiosidad por comprender los aspectos internos de cómo funciona la comparación de cadenas en python cuando estaba resolviendo el siguiente problema de algoritmo de ejemplo: Dadas dos cadenas, devuelve la longitud del prefijo común más largo Solución 1: charByChar Mi intuición me dijo que la solución óptima sería comenzar con un cursor al comienzo […]
Al crear una extensión C para Python, ¿es posible poder escribir de alguna manera los comentarios que se exponen como cadenas de documentación a los usuarios de la extensión?
Al intentar identificar dos de estos entornos al mismo tiempo, puedo decir con seguridad que si tiene que usar una base de datos, etc., tendrá que escribir un código único para ese entorno. ¿Tienes una gran manera de manejar esta situación?
No puedo imaginar cómo obtener la dirección virtual de los objetos mmap estándar en Python (desde el módulo mmap). Los métodos documentados solo parecen acceder a la memoria como una matriz de bytes o como cadenas de caracteres. Pero necesito acceder a la memoria de mmap’ped exactamente 2 o 4 bytes a la vez, porque […]
Estoy tratando de entender cómo el recolector de basura de Python detecta referencias circulares. Cuando miro la documentación, todo lo que veo es una statement de que se detectan referencias circulares, excepto cuando los objetos involucrados tienen un método __del__ . Si esto sucede, mi entendimiento (posiblemente defectuoso) es que el módulo gc actúa como […]
Solo quiero descubrir la lógica detrás de estos resultados: >>>nan = float(‘nan’) >>>nan == nan False # I understand that this is because the __eq__ method is defined this way >>>nan in [nan] True # This is because the __contains__ method for list is defined to compare the identity first then the content? Pero en […]
He estado tratando de entender por qué Python 3 en realidad está tomando mucho tiempo en comparación con Python 2 en ciertas situaciones, a continuación se presentan algunos casos que he verificado desde Python 3.4 a Python 2.7. Nota: He pasado por algunas de las preguntas como ¿Por qué no hay una función xrange en […]