En/na Garito ha escrit:
Me gustaria que el acceso a estas funciones sea recursivo
¿ por algún motivo en especial ?
> La pregunta seria: hay alguna forma de cambiarle el tipo
> (momentaneamente) sin crear otro objeto? O dicho de otra forma: puedo
> hacer un cast momentaneo?
Creo que lo que buscas es 'super':
class yDict(dict) :
def __getitem__(self, clave):
partes = clave.split('/', 1)
if len(partes) > 1 :
return super(yDict, self).__getitem__(partes[0])[partes[1]]
else:
return super(yDict, self).__getitem__(partes[0])
def __setitem__(self, clave, valor) :
partes = clave.split("/", 1)
if len(partes) > 1 :
super(yDict, self).setdefault(partes[0],
yDict())[partes[1]] = valor
else :
super(yDict, self).__setitem__(partes[0], valor)
¿Que debería ocurrir con este código?
d = yDict()
d["a/b"] = 1
d["a/b/c"] = 2
Saludos
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/