python的print和return
初学编程,对输出和返回值不是很了解。以阶乘函数为例:
def factorial(n):
if n==1:
return 1
else:
return n*age(n-1)
print(factorial(5)),能打印出结果120,
但是直接调用factorial(5),却没有结果,但是函数本身不也是有return么,按理不应该是return 5*4*3*2*1=120吗?
就像以下乘法:
def a():
return 5*4*3*2*1
调用a(),结果不应直接就显示120么? return的值可以付给一个变量,也可以打印出来
就像a = factorial(5)
print(a)
打印的是返回值
直接print(factorial(5))也一样 电脑没有那么智能。你让干嘛就干嘛,不会多做一件事的。
return是结束函数,并返回一个值。print是打印一个值(也就是所谓的显示出来)。
打个比方,return就是你安排一个人出去办事,然后办完后他就回来了。你不问他他不会告诉你结果的。print就相当于问他结果如何,然后他把结果展示出来了。 拿银行举例子:
print输出主要是打印出来,给你服务的客户看的,比如客户需要看自己的流水。
而return主要是给后台操作用的,比如客户在前台取钱了,后台需要把这个取钱的数字从账户里划去,加工一下,再返回给后台。
在 IDLE 交互界面直接操作 factorial(5) 或 a() 是可以看到函数返回值的,但是从代码中运行过来是不会直接打印返回值的,需要你加上pirnt
你可以自己去 IDLE界面 直接操作代码试试,只要有返回值,IDLE界面都会打印出来,反之如果没有返回值,IDLE会打印一个空的行,实际上是 None
但是你在编辑器里面调用是不会直接打印返回值的,必须要带上print 哦
页:
[1]