Hola que tal, apenas hoy es mi primer dia en python, me he bajado un libro, llamado Python para todos, donde venia un ejemplo, lo corro y me da el siguiente error:
Cita: 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
El codigo es el siguiente:
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.