Articles of tipos

¿Dónde se encuentra el tipo de letra Ninguno en Python 3.x?

En Python 3, me gustaría comprobar si el value es una cadena o None . Una forma de hacer esto es assert type(value) in { str, NoneType } Pero, ¿dónde se encuentra NoneType en Python? Sin ninguna importación, el uso de NoneType produce NameError: name ‘NoneType’ is not defined .

Error al usar el módulo ctypes para acceder a una DLL escrita en C

Tengo una DLL con una sola función que obtiene cinco dobles y una int: __declspec(dllexport) struct res ITERATE(double z_r,double z_i,double c_r, double c_i, int iterations, double limit) Retorna una estructura personalizada que consta de una matriz de tres dobles: struct res { double arr[3]; }; Para devolver los valores hago esto: struct res result; /*earlier […]

PEP0484 Sugerencia de tipo: anotando el argumento de una clase dada, no una instancia

Déjame explicarte con alguna muestra, primero. Supongamos que hay un módulo cliente de API web (MyAPIClient), una clase de asignador que convierte una respuesta arbitraria en un objeto de Python (ObjectMapper) y una clase que representa un objeto de respuesta (Usuario y Mensaje). class User(MyResponse): def __init__(self, status: int, id: int, name: str) -> None: […]

Inconsistente pandas read_csv dtype inference en la mayoría de la columna de cadena entera en un enorme archivo TSV

Tengo un archivo separado por tabulaciones con una columna que debe interpretarse como una cadena, pero muchas de las entradas son enteros. Con archivos pequeños, read_csv interpreta correctamente la columna como una cadena después de ver algunos valores no enteros, pero con archivos más grandes, esto no funciona: import pandas as pd df = pd.DataFrame({‘a’:[‘1’]*100000 […]

¿Cuáles son los beneficios (y desventajas) de un lenguaje de tipificación débil?

Soy un gran fan de PHP y obviamente es un lenguaje muy débil. Me doy cuenta de que algunos de los beneficios incluyen la independencia general de cambiar los tipos de variables sobre la marcha y similares. Lo que me pregunto son los inconvenientes. ¿Qué puede obtener de un lenguaje fuertemente tipado como C que […]

¿Error de “syntax de entrada no válida para un entero” para un no entero?

Estoy usando Python y psycopg2. Estoy intentando ejecutar una statement preparada con una lista de valores como tal: cur.callproc(prepared_func, prepared_values) psycopg2.DataError: invalid input syntax for integer: “WwLEA6XZ0V” LINE 1: … fn_approve_external_lead(ARRAY[1004, 2, 1079412, ‘WwLEA6XZ0… La función en Postgres tiene el siguiente aspecto: CREATE OR REPLACE FUNCTION fn_approve_external_lead( internal_usrid bigint , ofr_src_id bigint , ofr_ext_id varchar […]

¿Cómo manejar la “escritura de pato” en Python?

Generalmente quiero mantener mi código tan genérico como sea posible. Actualmente estoy escribiendo una biblioteca simple y esta vez puedo usar diferentes tipos con mi biblioteca. Una forma de proceder es obligar a las personas a subclasificar una clase de “interfaz”. Para mí, esto se parece más a Java que a Python y el uso […]

Tipo de sugerencia en Python 2

En PEP 484 , se agregaron sugerencias de tipo a Python 3 con la inclusión del módulo de typing . ¿Hay alguna manera de hacer esto en Python 2? Todo lo que puedo pensar es tener un decorador para agregar a los métodos para verificar tipos, pero esto fallaría en el tiempo de ejecución y […]

Cadenas en un DataFrame, pero dtype es objeto

¿Por qué las pandas me dicen que tengo objetos, aunque cada elemento de la columna seleccionada es una cadena, incluso después de una conversión explícita? Este es mi DataFrame: Int64Index: 56992 entries, 0 to 56991 Data columns (total 7 columns): id 56992 non-null values attr1 56992 non-null values attr2 56992 non-null values attr3 56992 non-null […]

¿Cuál es la diferencia entre las clases de estilo antiguo y nuevo en Python?

¿Cuál es la diferencia entre las clases de estilo antiguo y nuevo en Python? ¿Cuándo debo usar uno o el otro?