Python same_name函数输出出现None,请问该值来源是什么?
问题解答
为什么会出现None?
你的函数same_name()里用的是print(True)和print(False),而非return返回结果。在Python中,函数如果没有显式用return指定返回值,默认会返回None。
你调用函数时又嵌套了一层print(),比如print(same_name("Colby", "Colby")),这会先执行函数内部的print(True)输出True,接着打印函数本身的返回值None,所以会出现两行输出:True和None。
修正后的代码
把函数里的print替换成return即可解决问题:
def same_name(your_name, my_name): if your_name == my_name: return True else: return False print(same_name("Colby", "Colby")) # 输出 True print(same_name("Tina", "Amber")) # 输出 False
修改后函数会直接返回布尔值,外层的print()只会打印这个返回值,不会再出现None。
内容的提问来源于stack exchange,提问作者Mahmud Rahimli
相关产品推荐
相关产品推荐

