Python函数中print与return的区别及return无输出问题排查
为什么函数里print能输出,return却看不到结果?
先明确print()和return的核心区别:
print()是直接向控制台输出内容:它的作用就是让你在屏幕上看到信息,只要执行到这句代码,就会立刻显示内容,和函数的返回逻辑无关。return是向函数调用者传递数据:它的目的是把函数处理好的结果“交付出去”,但不会自动把结果展示在屏幕上。如果只是单纯调用函数却不处理返回值,那这个返回的数据就相当于“没地方去”,自然看不到输出。
看你的代码:
def format_name(): name = input("What is your name? ") Name= name.title() return Name # 这里确实返回了格式化后的名字 format_name()
函数format_name()执行后确实返回了正确的名字,但你只是调用了函数,却没对返回值做任何操作——既没把它存到变量里,也没打印出来,所以控制台不会有输出。
解决方法很简单,只要处理返回值就行:
def format_name(): name = input("What is your name? ") return name.title() # 方式1:直接打印返回值 print(format_name()) # 方式2:把返回值存到变量,后续可以复用 formatted_name = format_name() print(formatted_name)
补充个小细节:在Python交互式解释器(比如直接打开Python命令行)里,直接调用有返回值的函数会自动显示返回结果,但在脚本文件里运行时,必须显式打印或者处理返回值才行。
内容的提问来源于stack exchange,提问作者Lakshita Sharma
相关产品推荐
相关产品推荐

