我是python的新手,我编写了以下代码。
我不明白为什么我不能从对象中调用bark()类 并打印出来。我正在使用Eclipse pydev
请帮助!
class DOG():
def __init__(self,mybreed):
self.breed = mybreed
def bark(self):
print("WOOF {}".format(mybreed))
my_dog = DOG(mybreed="Goat")
print(my_dog.breed)
my_dog.breed = 'WOLF'
print(my_dog.breed)
print(my_dog.bark())
答案 0 :(得分:3)
问题是缩进,您已经在brak
内定义了__init__
,将您的类定义更改为:
class DOG():
def __init__(self, mybreed):
self.breed = mybreed
def bark(self):
print("WOOF {}".format(self.breed))
在大多数其他编程语言中,缩进仅用于帮助使代码看起来更漂亮。但是在Python中,需要指出语句属于哪个代码块。
有用的链接:Here
感谢@nixon,也为了访问您应使用self
的实例属性,请更仔细地查看format(self.breed)
。