调用基类方法时出现问题

时间:2013-04-09 12:59:22

标签: python python-3.x

我是Python的新手。我知道这个问题没用。但我对我的问题感到沮丧。我在我的基类Animals中定义了两个方法。当我尝试在我的继承中调用基本方法时它显示这些错误的类: NameError: name 'display_name' is not defined

class Animals():
    def display_name(self):
        print ('Name is Mr.X')        
    def display_age(self):
        print('Age is 25')    
class Name(Animals):
    display_name(self)
class Age(Animals):
    display_age(self)

n=Name()
a=Age()
n.display_name()
a.display_age()

1 个答案:

答案 0 :(得分:2)

您需要使用display_name前缀引用self函数,而不是将self作为参数传递。

此外,正如Antimony所述,您需要在与类的实例相关联的函数内调用display_name(在接受self参数的函数内)。

出现在方法函数之外但在类中的代码与整个类相关联,而不是与该类的任何特定实例相关联 - 在此上下文中使用self变量没有任何意义 - 如果您创建多个对象从一个人所指的那个阶段?

class Animals():
    def display_name(self):
        print ('Name is Mr.X')

    def display_age(self):
        print('Age is 25')    

class Name(Animals):
    def call_display_name(self):
        self.display_name()

class Age(Animals):
    def call_display_name(self):
        self.display_age()

Name().call_display_name()