Cita:
El codigo es el siguiente:saludar("fr")()
File "C:\Users\fernando\workspace\probando\src\revistie ndoobjetos.py", line 22, in saludar
return lang_func(lang)
TypeError: 'dict' object is not callable
File "C:\Users\fernando\workspace\probando\src\revistie ndoobjetos.py", line 22, in saludar
return lang_func(lang)
TypeError: 'dict' object is not callable
Código Python:
Ver original
#!/usr/bin/env python #-*- coding: UTF-8 -*- ''' Created on 26/06/2011 @author: fernando ''' def saludar(lang): def saludar_es(): print "Hola" def saludar_en(): print "Hi" def saludar_fr(): print "Salut" lang_func = {"es": saludar_es(), "en": saludar_en(), "fr": saludar_fr()} return lang_func(lang) saludar("fr")()
Intente modificarlo,sacando los metodos de saludar(lang) por que pense que a lo mejor porque no podia retornar, por algunas cosas que vi en internet, es que por la API , lanzaba esa excepcion, intente modificarlo de esa manera, sacando los metodos, quitandole el return y asigarlo en una variable, pero aun asi el problema persiste.
Otra cosa que vi, que cuando intento correrlo, me aparece los mensajes de los metodos anteriores, ¿eso a que se debe, si yo nunca los estoy invocando?
Ese ejemplo se puede ver en Python para todos, lo deje igual.
Saludos y gracias por la ayuda.