编程中为何使用return关键字而非print语句?
为什么编程中用return返回结果,而非直接用print输出?
核心原因:
结果可被复用:print只是把内容输出到控制台,输出后就无法被其他代码调用或处理。但return返回的结果可以被变量接收,用来参与后续计算、作为其他函数的参数,或者存储到数据库中。比如你提供的示例方法,返回的中间元素能被调用它的代码任意处理,换成print的话,后续逻辑根本没法利用这个值。
函数职责更清晰:函数的核心是处理逻辑并产出结果,print属于I/O输出操作,把它混在函数里等于让一个函数承担两种职责,违背了单一原则。像示例里的
leftElement方法,它的任务就是找到排序后的左中间元素,返回结果就够了,什么时候输出、怎么输出,应该交给调用它的代码来决定。测试调试更高效:用return的话,写单元测试可以直接断言返回值是否符合预期;要是用print,测试时得去捕获控制台输出,不仅麻烦还容易出错。比如测试这个方法,直接调用它对比返回值,比抓取打印内容要高效得多。
代码复用性更强:return让函数成为一个独立的功能模块,不管是控制台程序、Web服务还是GUI应用,都能直接复用。但如果用print,这个函数就只能在需要控制台输出的场景下使用,灵活性大打折扣。
示例代码(Python):
class Solution: def leftElement(self, arr, n): arr.sort() if n % 2 == 0: return arr[(n//2)-1] else: return arr[n//2]
调用示例:
sol = Solution() # 接收返回结果,可做后续处理 result = sol.leftElement([3,1,2,4], 4) # 按需输出 print(result)
如果把代码里的return换成print,你会发现根本没法获取这个结果做后续操作,只能看着控制台的输出——这就是return和print最本质的区别:return是给代码用的结果,print是给人看的输出。
内容的提问来源于stack exchange,提问作者Marri.Yaswanth
相关产品推荐
相关产品推荐

