TypeError:' Game'对象不可调用

时间:2014-06-25 09:08:09

标签: python class typeerror

我刚刚开始使用面向对象的编程,我正在尝试制作一个关于照顾角色的游戏。

以下是我的代码的一部分:

class Game(object): 
    def __init__(self):
        self.hunger = 30
        self.thirst = 30
        self.fun = 30
        self.energy = 30
.........................    
def new_character():
    name = input("Name your character: ")
    name = Game()
    name()

但是当我跑步时,我得到:

Traceback (most recent call last):
  File "C:\Python34\Virtual Human Simulator.py", line 185, in <module>
    new_character_init()
  File "C:\Python34\Virtual Human Simulator.py", line 182, in new_character_init
    name()
TypeError: 'Game' object is not callable

我一直在互联网上搜索那些可能会问过这个问题的人,但我得到的只是模块和数据类型的错误,而不是类,而且文档根本​​没用。 这个问题的原因是什么以及如何解决它?

1 个答案:

答案 0 :(得分:3)

正如错误所指出的那样,您正在尝试将新创建的对象用作函数。 name()。除非您的类定义了__call__方法,否则将失败。告诉我们你想要实现的目标可能更有用