1.问题描述
在使用python打印输出验证结果是否符合预期时,有时候会多出一个None。
程序示例:
def get_my_info():
print('my name is Tom')
if __name__ == '__main__':
print(get_my_info())
输出结果如下:
my name is Tom
None
2.原因分析
python中函数需要用return来返回值,而在上述例子中没有用到return语句。此时,python会默认返回一个None值,而这个None被print函数接受并打印了出来,因此才会出现上述问题。
3.解决办法
(1)不要print函数,直接调用函数,就不会有None出现。
(2)return语句返回一个值,比如“done!”,这样的语句更能表达出语义。
修改后的程序:
def get_my_info():
print('my name is Tom')
if __name__ == '__main__':
get_my_info()
得到的结果:
my name is Tom