为什么此函数不返回变量

Why this function doesn't return the variable

提问人:tutizeri 提问时间:3/6/2018 最后编辑:Ronan Boiteaututizeri 更新时间:3/6/2018 访问量:46

问:

这个类有一个函数,它应该返回狗的名字(在下面的例子中)。name"Boby"

class Dog(object):
    def __init__(EstePerro, Nombre=None, Peso=None):
        EstePerro._Name = Nombre 
        EstePerro._Weight = Peso
    def name(EstePerro):
        "Returns dog name"
        return EstePerro._Name

pet = Dog("Boby",45)
print(pet.name)

但相反,它返回以下内容:

<bound method Dog.name of <__main__.Dog object at 0x0000000002DD4748>>

我做错了什么?

python-3.x 方法

评论

1赞 llllllllll 3/6/2018
你需要调用它。pet.name()

答:

2赞 Ronan Boiteau 3/6/2018 #1
  • pet.name 是你的方法
  • pet.name() 是对方法的调用

所以在这里,你需要添加括号来调用你的方法:name

>>> pet = Dog("Boby", 45)
>>> print(pet.name()) # Parentheses after pet.name
Boby

评论

0赞 tutizeri 3/6/2018
就是这样。我需要等待 11 分钟才能将其标记为答案。关于打印错误如何解释它的任何解释?
0赞 Ronan Boiteau 3/6/2018
没问题:)我添加了解释。
0赞 tutizeri 3/6/2018
我的意思是,我不理解“绑定方法 Dog.name..”。我不确定这是否是一个错误,或者实际上是指令打印的内容(pet.name)
1赞 Ronan Boiteau 3/6/2018
这不是一个错误。这就是当你使用方法时发生的情况。print