无法调用类bark()

时间:2018-12-05 10:33:00

标签: python class

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

1 个答案:

答案 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)