Articles of tipos de

¿Por qué el tipo de retorno no está marcado en python3?

Ejemplo de PEP 484 – Sugerencias de tipo def greeting(name: str) -> str: return ‘Hello ‘ + name Forma correcta de llamar a la función con str >>> greeting(“John”) ‘Hello John’ Si lo llamo con int: >>> greeting(2) TypeError: must be str, not int Llamada con lista >>> greeting([“John”]) TypeError: must be str, not list […]

tipo cython / numpy de una matriz

Estoy tratando de construir una matriz de tipo python int, un entero con signo de 64 bits. cdef matrix33(): return np.zeros((3,3),dtype=int) cdef do_stuf(np.ndarray[int, ndim=2] matrix): … return some_value def start(): print do_stuf(matrix33()) Se comstack correctamente, pero cuando lo ejecuto, sigo recibiendo este error: ValueError: Buffer dtype mismatch, expected ‘int’ but got ‘long’ No puedo trabajar […]

Ctypes: forma rápida de convertir un puntero de retorno a una matriz o lista de Python

Estoy usando ctypes para pasar un puntero de matriz a una dll y devolver un puntero a una matriz de dobles que se creó usando malloc en la dll. Al regresar a Python, necesito una forma rápida de convertir el puntero a una matriz o lista de Python. Puedo usar esta lista de comp, pero […]

Python: kernel32.CreateProcessA () ¿Qué está haciendo?

Actualmente estoy aprendiendo sobre los depuradores y cómo detienen los procesos. Aquí está mi código: from ctypes import * WORD = c_ushort DWORD = c_ulong LPBYTE = POINTER(c_ubyte) LPTSTR = POINTER(c_char) HANDLE = c_void_p DEBUG_PROCESS = 0x00000001 CREATE_NEW_CONSOLE = 0x00000010 class STARTUPINFO(Structure): _fields_ = [ (“cb”, DWORD), (“lpReserved”, LPTSTR), (“lpDesktop”, LPTSTR), (“lpTitle”, LPTSTR), (“dwX”, DWORD), […]

¿Cómo los lenguajes como Python superan los límites de datos integrales de C?

Mientras realiza una experimentación aleatoria con un progtwig factorial en C, Python y Scheme. Me encontré con este hecho: En C, utilizando el tipo de datos ‘largo sin firmar’, el factorial más grande que puedo imprimir es de 65. que es ‘9223372036854775808’ que tiene 19 dígitos, como se especifica aquí . En Python, puedo encontrar […]

Python: convertir un objeto de cadena en un ctypes (carácter sin signo *)

Quiero usar un archivo DLL con una función que tenga la siguiente firma: bool isValid = isImageValid((unsigned char *) buff, const __uint32& buffLen, int imageW, int imageH, __uint32 requiredSize); Ahora, buff tiene que ser el resultado de una cadena que estoy llegando al envoltorio de python que es equivalente a pyBuff = open(someimagefile, ‘rb’).read() Como […]

Python 3.5, ctypes: TypeError: bytes o dirección entera esperada en lugar de la instancia de str

Estoy teniendo un problema con los ctypes. Creo que mi conversión de tipo es correcta y el error no tiene sentido para mí. Error en la línea “arg – ct.c_char_p (logfilepath)” TypeError: bytes o dirección entera esperada en lugar de la instancia de str Lo intenté tanto en python 3.5 como en 3.4. función que […]

Envoltorio personalizado para indexar la lista de python a partir de 1

Me gustaría escribir un contenedor simple para el tipo de list python que lo obliga a comenzar a indexar en 1 lugar de 0 . Tengo un progtwig bastante complejo basado en algunas distribuciones de probabilidad discretas de datos de duración, con grupos de longitudes enteras, pero no tengo ninguna duración inferior a 1. De […]

Tipo de conversión de Python

Cuál es la mejor manera de convertir int‘s, long’s, double’s a strings y viceversa en python. Recorro una lista y paso largos a un dict que se debe convertir en una cadena Unicode. hago for n in l: {‘my_key’:n[0],’my_other_key’:n[1]} ¿Por qué algunas de las cosas más obvias son tan complicadas?

¿Por qué Python elimina los ceros iniciales cuando se convierte de cadena a int?

>>> num = int(‘0241034812’) >>> print(num) 241034812 >>> En el código anterior, estoy configurando la variable num a 0241034812 ; sin embargo, cuando imprimo la variable borra el primer cero. ¿Por qué está pasando esto?