为何这段Python代码无法运行?详解return与print的区别
Python中return与print的区别及代码运行差异解析
核心区别
- return:属于函数的返回机制,作用是将值传递回函数的调用处,本身不会产生控制台输出。如果调用函数后未处理返回值(比如打印、赋值存储),该值会被直接丢弃。
- print():是Python内置输出函数,专门用于将内容输出到标准控制台,核心目的就是产生可见输出,函数自身的返回值为
None。
两段代码运行结果不同的原因
第一段代码分析
def call_10(func): for i in range(10): func() def print_hello(): return 'hello' call_10(print_hello)
这段代码里,print_hello执行后会返回字符串'hello',但call_10仅循环调用该函数,并未对返回的'hello'做任何处理——既没有打印这个值,也没有将其保存到变量中。因此每次调用产生的返回值都被直接丢弃,控制台无输出。
第二段代码分析
def call_10(func): for i in range(10): func() def print_hello(): print('hello') call_10(print_hello)
此处的print_hello函数内部调用了print('hello'),每次执行该函数时,都会直接将'hello'输出到控制台。call_10循环调用它10次,自然会在控制台打印10次'hello'。
内容的提问来源于stack exchange,提问作者고준호
相关产品推荐
相关产品推荐

