Python 很简单,;初级班
python新手,目前正在学习类和OOP。我正在尝试运行下面的简单代码,但无法找出出现错误的原因。请参阅下面的代码:Python 很简单,;初级班,python,class,Python,Class,python新手,目前正在学习类和OOP。我正在尝试运行下面的简单代码,但无法找出出现错误的原因。请参阅下面的代码: class Animal(object): fur = True def real_animal(self): if fur: print "Real animal" else: print "Fake animal" class Dog(Animal): fur = Tru
class Animal(object):
fur = True
def real_animal(self):
if fur:
print "Real animal"
else:
print "Fake animal"
class Dog(Animal):
fur = True
def __init__(self, name):
self.name = name
rover = Dog("Rover")
rover.real_animal()
我收到一个错误,说明毛发未定义。根据我的理解,类可以从类继承。所以,因为罗孚是狗类动物的一个例子。难道我不能在漫游者上运行基础类动物的功能吗?我基本上想说狗有皮毛,因此是真正的动物
谢谢大家帮助一个新手 您至少有两个错误:
- 您需要将毛发变量称为
,因为它不是局部变量,而是实例/类上的变量self.fur
- 在
类中,您调用变量Dog
,但在父类中它只调用has\u fur
fur
fur
更改为self时。fur
insidereal_animal()
将允许代码运行,这是一个不完整的修复程序——除非您将fur
作为一个实例变量(似乎您应该这样做),您不妨将其作为Animal.fur
引用,以避免混淆。还有一个问题是随机的现在什么也做不了。@JuniorCompressor-你怎么知道那是OP的代码-也许他把他的工作搞砸了indentation@Mark因为他没有解析错误