El 9 de octubre de 2010 23:13, Alexis Roda <alexis.roda.villalo...@gmail.com > escribió:
> En/na Garito ha escrit: > > Me gustaria que el acceso a estas funciones sea recursivo >> > > ¿ por algún motivo en especial ? > > Si, claro. Desde mi analisis la naturaleza es claramente fractal y la base para la fractalidad es la recursividad Ahorra codigo y convierte el que pones en algo donde la responsabilidad bien colocada es un gol extra > > > 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) > Podria ser perfectamente, revisare este codigo a ver que me surge, gracias! > > ¿Que debería ocurrir con este código? > > d = yDict() > d["a/b"] = 1 > d = {'a': {'b': 1}} > d["a/b/c"] = 2 d = {'a': {'b': {'c': 2}}} Gracias por tu ayuda, parece que tu y yo seguimos teniendo esa relacion de siempre en estas listas Saludos > > > > Saludos > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Mi twitter: http://twitter.com/garito Temet nosce
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/