Python 无法调用类bark()

Python 无法调用类bark(),python,class,Python,Class,我是python新手,我已经编写了以下代码 我不明白为什么不能从对象调用bark()类 然后打印出来。我正在使用EclipsePydev 请帮忙 class DOG(): def __init__(self,mybreed): self.breed = mybreed def bark(self): print("WOOF {}".format(mybreed)) my_dog = DOG(mybreed="Goat") pri

我是python新手,我已经编写了以下代码

我不明白为什么不能从对象调用bark()类 然后打印出来。我正在使用EclipsePydev

请帮忙

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

问题是缩进,您已经在
中定义了
brak
,请将类定义更改为:

class DOG():
    def __init__(self, mybreed):
        self.breed = mybreed

    def bark(self):
        print("WOOF {}".format(self.breed))
在大多数其他编程语言中,缩进仅用于帮助使代码看起来漂亮。但在Python中,它是指示语句属于哪个代码块所必需的

有用链接:


感谢@nixon,同样为了访问实例属性,您应该使用
self
,请更仔细地查看
格式(self.breed)

您已将
mybreed
指定给实例属性
self.breed
,因此您必须在
bark()
中引用它。此代码将引发ean错误。没错,谢谢。