我的函数不断返回 None,即使它有 return 语句

-1 python function

我有一个非常短的函数位于一个不断返回的类中None,即使我已经将以前的 print 语句变成了 return 语句,这就是我所拥有的:

def explain(self):
    return(print('Wear a', self.getColor(), 'shirt')
Run Code Online (Sandbox Code Playgroud)

该声明将打印出来,但每次打印None到下一行时,请告诉我如何阻止这种情况发生!

mu *_*u 無 5

这是因为 的输出打印print在终端上,而函数print本身的值是 a None,这就是返回的值。

如果您希望返回该值并打印它,您可以执行以下操作:

def explain(self):
    string = 'Wear a' + self.getColor() + 'shirt'
    print(string)
    return string
Run Code Online (Sandbox Code Playgroud)

如果只需要返回值,只需将上面的打印语句去掉即可,稍后打印即可。