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/

Responder a