viernes, marzo 30, 2007

Creación implicita de atributos

Al modificar un fichero de un compi de curro, me llamó la atención que él creaba las variables de instancia como si fueran de clase. Y le funcionaba, cosa que me estrañó mucho.

Indagando un poco al respecto ya se porqué. Antes de nada un ejemplo:


class B:
b = "B"

class C(B):
def __init__(self,v):
self.b = v


b1 = B()
b2 = B()
c = C("c")

#--- Valores originales
print b1.b,b2.b,c.b

#--- Cambiamos la variable de clase
B.b = "BB"
print b1.b,b2.b,c.b

#---- Cambiamos variable de instancia de objeto de tipo B
b1.b = "B"
print b1.b,b2.b,c.b



Que nos proporciona la salida:

B B c
BB BB c
B BB c


El ejemplo anteiror nos muestra que cuando referenciamos una variable de instancia que no existe, pero si como clase, automáticamente se crea una variable de instancia con el valor de la variable de clase.

jueves, marzo 29, 2007

Identificadores únicos

¿Que opciones tenemos disponibles para asignar un identificador único a un buffer de datos?
En un principio estaba pensando algo como el comando sum de unix.

Pero al no encontarlo en el api de python, he mirado alternativas, y una opción que tenemos es usar alguno de los módulos criptográficos disponibles.
En python 2.4 estan md5, hmac y sha en 2.5 veo que ademas está hashlib.

Modulos relacionados

Si lo que queremos es generar un identificador único podemos usar uuid.
Hay un modulo con diferentes funciones para codificar strings: binascii.

lunes, marzo 19, 2007

¡¡¡¡Que bien!!!! Estoy dando palmas con las orejas.
Solo por esto ya merece mi contribución a AI2. Ya solo queda esperar que estos 'deseos' fructufiquen en realidades.

lunes, marzo 05, 2007

11870

Hoy me han pasado esta url, 11870. La idea es muy buena, una web 2.0 de clasificados.
Un nuevo 'enemigo' para quien trabajo, TPI.

La verdad... el tema de los clasificados está movidito. Una cosa nueva de QDQ.

sábado, marzo 03, 2007

Fractales en python

En Febrero empezó un thread muy interesante sobre fractales en python.
En Marzo hay mas posts, como muestra un botón.

jueves, marzo 01, 2007

Crear un fichero temporal en python

Con el módulo os, se puede hacer, pero la mejor manera es usando el módulo tempfile. Normalmente lo haremos mediante el uso de mkstemp.