在下面的代码中,为什么在输出的末尾没有得到任何结果?如何避免?

2024-09-30 12:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

class A:
    def __init__(self, initialage):
        self.age= initialage
        print(self.age)
        print(initialage)
    def increaseby1(self):
        self.age += 1
        print(self.age)
a=A(5)
print(a.increaseby1())

Tags: selfageinitdefclassprintinitialageincreaseby1
2条回答

因为你的函数不返回任何东西,它只是打印年龄。既然你试着打印它的返回值,也就是无,它就不打印

我想您只想打印self.age,而不想打印None。 解决这个问题的办法是: a.increaseby1()而不是print(a.increaseby1())

所以你在函数中打印你想要的值,然后调用它,而不是打印它的返回值

或者

return self.age而不是print(self.age)函数中的increaseby1。这样,函数将增加值并返回值,因此当在print语句中调用函数时,它将打印self.age

您的函数没有返回值,这意味着它隐式返回None。为了避免这种情况,要么不要将函数调用包装在print语句中,要么返回要在函数内部打印的值

相关问题 更多 >

    热门问题