Articles of referencia de

La función copy.deepcopy () de Python no funciona correctamente

He estado jugando con la función de copia profunda y la función de copia y tengo el mismo problema con ambos. Es como si la copia fuera una referencia (o un puntero) en lugar de una copia adecuada. Estoy trabajando con registros de datos (clases) en Python, tal vez podría ser eso … Te muestro […]

cuando una iteración de la lista de python es y no es una referencia

¿Alguien podría ofrecer una explicación concisa de la diferencia entre estas dos operaciones de Python en términos de modificar la lista? demo = [“a”, “b”, “c”] for d in demo: d = “” print demo #output: [‘a’, ‘b’, ‘c’] for c in range(len(demo)): demo[c] = “” print demo #output: [”, ”, ”] En otras palabras, […]

Python y Java parámetros pasando

He visto en varios lugares, incluida la documentación de Python que Python utiliza semántica de “asignación”. Procedente de un fondo de Java, donde el error común de decir “Java pasa primitivas por valor y objetos por referencia” es el resultado de tener referencias de objetos por valor. No puedo evitar preguntarme si Python realmente está […]

¿Cómo funciona la referencia de Python?

Estoy confundido con las referencias de Python. Considere el siguiente ejemplo: Mi tarea: editar cada elemento de la lista. d = { ‘m’: [1,2,3] } m = d[‘m’] m = m[1:] # m changes its reference to the new sliced list, edits m but not d (I wanted to change d) Similar: d = { […]

¿Por qué Python maneja ‘1 es 1 ** 2’ de manera diferente a ‘1000 es 10 ** 3’?

Inspirado por esta pregunta sobre el almacenamiento en caché de enteros y cadenas pequeños, descubrí el siguiente comportamiento que no entiendo. >>> 1000 is 10**3 False Pensé que entendía este comportamiento: 1000 es demasiado grande para ser almacenado en caché. 1000 y 10 ** 3 puntos a 2 objetos diferentes. Pero me equivoqué: >>> 1000 […]

Rutas de archivo relativas en paquetes de Python

¿Cómo puedo hacer referencia a un archivo en relación con el directorio de un paquete? Mi estructura de directorio es: / foo paquete1 / recursos / __init__.py paquete2 / recursos / __init__.py script.py script.py importa paquetes package1 y package2 . Aunque los paquetes pueden ser importados por cualquier otro script en el sistema. ¿Cómo debo […]

Python: Asignar “a través” de un iterador

Tengo un iterador sobre una secuencia mutable, por ejemplo foo = [1,2,3,4,5] for bar in foo: ¿Hay una manera de escribir a los elementos en foo usando la referencia que está contenida en el iterador? La tarea ingenua: bar = 42 No funciona, por supuesto. ¿Es posible usar la referencia “detrás de la cortina” al […]

¿Por qué ha decidido Python en contra de las referencias constantes?

Nota: no estoy hablando de prevenir la reconexión de una variable. Estoy hablando de evitar la modificación de la memoria a la que se refiere la variable, y de cualquier memoria a la que se pueda acceder desde allí siguiendo los contenedores nesteds. Tengo una gran estructura de datos, y quiero exponerla a otros módulos, […]

Python equivalente de punteros

En python todo funciona por referencia: >>> a = 1 >>> d = {‘a’:a} >>> d[‘a’] 1 >>> a = 2 >>> d[‘a’] 1 Quiero algo como esto >>> a = 1 >>> d = {‘a’:magical pointer to a} >>> d[‘a’] 1 >>> a = 2 >>> d[‘a’] 2 ¿Qué sustituirías por un puntero mágico […]

Los tipos para los cuales la palabra clave “es” pueden ser equivalentes a un operador de igualdad en Python

Para algunos tipos en Python, el operador is parece ser equivalente al operador == . Por ejemplo: >>> 1 is 1 True >>> “a spoon” is “a spoon” True >>> (1 == 1) is (2 == 2) True Sin embargo, este no es siempre el caso: >>> [] == [] True >>> [] is [] […]