TypeError:对象在制作实例时不可调用

时间:2012-10-08 03:25:46

标签: python

我搜索过类似问题的其他主题,但我找不到答案。基本上,我有一个班级:

import Android_Class

class Android_Revision(object):

    def __init__(self):
        # dict for storing the classes in this revision
        # (format {name : classObject}):
        self.Classes = {}
        self.WorkingClass = Android_Class()
        self.RevisionNumber = ''

    def __call__(self):  
        print "Called"

    def make_Class(self, name):
        newClass = Android_Class(name)
        self.Classes.update({name : newClass})
        self.WorkingClass = newClass

    def set_Class(self, name):
        if not(self.Classes.has_key(name)):
            newClass = Android_Class(name)
            self.Classes.update({name : newClass})
        self.WorkingClass = self.Classes.get(name)

我正在尝试创建这个类的实例:

Revision = Android_Revision()

那是我收到错误的时候。我很困惑,因为我有另一种情况,我几乎完全一样,并且工作正常。我无法弄清楚这两者之间的差异会导致这个错误。感谢。

1 个答案:

答案 0 :(得分:3)

我的评论第二,这个问题缺乏重要的信息,如果这个错误不是非常普遍并且有相当明显的症状,我将无法提供类似答案的任何内容。

Python对{files,modules}和类的看法与Java完全不同。模块是比组更高级别的组织单元。具体而言,模块可以包含任意数量的类(在众多其他事物中)。 import处理模块,而不是类。 import foo为您提供该名称的模块,无论该名称的任何类别如何。如果您必须在同名模块中有一个类(通常,这是过度使用类或忽略模块作为组织单位的标志),您可以将其作为Foo.Foo访问,或者执行from Foo import Foo }。

顺便说一下,模块名称应该是lower_case,而类名应该是PascalCase。不要混淆两者。另请阅读PEP 8了解其他惯例。