在python中调用方法以增加动物的年龄

在python中调用方法以增加动物的年龄,python,python-2.7,class,methods,Python,Python 2.7,Class,Methods,我被指派去创造一只名叫“莫莉”的狗,年龄1。我调用方法grow,将年龄增加2,并将其打印出来 我知道如何让莫莉跑步,但我对如何增加她的年龄感到困惑,它总是显示出无 任何帮助都会奏效,但最好能解释清楚。提前谢谢你的帮助 class Dog(): """ a class representing a dog """ def __init__(self, name, age): """ Initialize name and age attributes. """

我被指派去创造一只名叫“莫莉”的狗,年龄
1
。我调用方法
grow
,将年龄增加
2
,并将其打印出来

我知道如何让莫莉跑步,但我对如何增加她的年龄感到困惑,它总是显示出

任何帮助都会奏效,但最好能解释清楚。提前谢谢你的帮助

class Dog():
    """ a class representing a dog """

    def __init__(self, name, age):
        """ Initialize name and age attributes. """
        self.name = name
        self.age = age

    def run(self):
        """ Simulate a dog running. """
        print(self.name.title() + " is running ...")

    def grow(self, year):
        """ Update age by adding year. """
        self.age += year

molly = Dog("Molly", 1)

print(molly.name + " is " + str(molly.grow(2)))
molly.run()
这个的输出是

Molly is None
Molly is running ...

grow
方法没有返回
age
属性,它只是设置
age
属性

grow
返回
None
(隐式),这就是您在
print
调用中看到的

使用

明白我的意思

您可以将原始尝试重写为

molly.grow(2)
print(molly.name + " is " + str(molly.age)) # Molly is 3
或者使用字符串格式作为

molly.grow(2)
print('{0.name} is {0.age}'.format(molly)) # Molly is 3

grow
方法没有返回
age
属性,它只是设置
age
属性

grow
返回
None
(隐式),这就是您在
print
调用中看到的

使用

明白我的意思

您可以将原始尝试重写为

molly.grow(2)
print(molly.name + " is " + str(molly.age)) # Molly is 3
或者使用字符串格式作为

molly.grow(2)
print('{0.name} is {0.age}'.format(molly)) # Molly is 3

您使用
print
的方式建议使用Python 3,但您标记了Python-2.7。它是哪一种?您使用
print
的方式暗示了Python 3,但您标记了Python-2.7。是哪一个?