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/