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