Hola Arturo,

Por la manera en que enuncias el problema parecería que tienes una clase Palabra y que las características que enumeras son sus atributos (cada palabra tiene "significado", "cómo suena en mp3", etc.) El ejemplo que planteas origina muchas clases que no queda claro para qué van a servir. Repito, por la forma en que enuncias tu problema. Si el problema exigiera todas esas clases tal vez no podría enunciarse de manera tan sencilla y directa como lo hiciste.

Comento esto porque calificaste tu pregunta como duda existencial... igual no es y ya lo tienes bien decidido esto.

Saludos
Gerardo

Arturo Muñoz T. wrote:
Hola a todos:
Ultimamente los he estado molestando mucho y vengo con una duda existencial mas, espero no molestarlos. Quiero crear una clase que recolecte informacion de una palabra en internet como: significado, pronunciacion en mp3, etc.
Entonces pense en crear una clase para cada tipo de informacion.

class Mp3(object):
    def __init__(self, word, directory)
    self.word = word
    self.directory = directory
    self. download_mp3(word)
    # Por aqui anda la funcion download_mp3(word)

class Meaning(object):
    def __init__(self,word)
    self.word = word
    self.meaning = self.search_meaning(word)
    # Por aqui anda la funcion search_meaning(word)

y tal vez agregar mas con el tiempo y juntarlo todo en una clase,
pero que la clase me de la opcion de por ejemplo solo usar
todo lo relacionado con Meaning o todo lo relacionado con Mp3

class metafile(Mp3, Meaning) #duda =¿se puede condicionar la herencia? Por ejemplo: para que herede solo de Mp3 def __init__(self,**kwargs): #pensaba en pasar algo asi (word = 'pepe', Mp3 = False , Meaning= True)

        if( kwargs.has_key('word'))
            self.word = word
        if( kwargs.has_key('directory'))
            self.directory = directory
        if(args['Mp3'] ):
            Mp3.__init__(self. self.word)
        if(args['Meaning']):
            Meaning.__init__(self. self.word, self.directory)



El problema con esto es que si quiero agregar otra clase tengo que modificar muchas cosas, tal vez tenga mas atributos en __init__ y cosas asi. ¿Se puede crear esto de manera automatica? Encontre esto sobre metaprogramacion:
http://crysol.org/node/600
http://jjinux.blogspot.com/2005/03/python-create-new-class-on-fly.html

type y exec parecen ser mis herramientas para lo que quiero hacer, ¿Creen que esta es la solución o estoy obviando algo?





_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a