我是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()
答案 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()