Carlyao 发表于 2020-6-12 05:35:06

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么?

_荟桐_ 发表于 2020-6-12 06:16:44

return的值可以付给一个变量,也可以打印出来
就像a = factorial(5)
      print(a)
打印的是返回值
直接print(factorial(5))也一样

sunrise085 发表于 2020-6-12 07:48:38

电脑没有那么智能。你让干嘛就干嘛,不会多做一件事的。
return是结束函数,并返回一个值。print是打印一个值(也就是所谓的显示出来)。
打个比方,return就是你安排一个人出去办事,然后办完后他就回来了。你不问他他不会告诉你结果的。print就相当于问他结果如何,然后他把结果展示出来了。

heidern0612 发表于 2020-6-12 08:05:23

拿银行举例子:

print输出主要是打印出来,给你服务的客户看的,比如客户需要看自己的流水。

而return主要是给后台操作用的,比如客户在前台取钱了,后台需要把这个取钱的数字从账户里划去,加工一下,再返回给后台。

Twilight6 发表于 2020-6-12 08:12:37


在 IDLE 交互界面直接操作 factorial(5) 或 a() 是可以看到函数返回值的,但是从代码中运行过来是不会直接打印返回值的,需要你加上pirnt

你可以自己去 IDLE界面 直接操作代码试试,只要有返回值,IDLE界面都会打印出来,反之如果没有返回值,IDLE会打印一个空的行,实际上是 None

但是你在编辑器里面调用是不会直接打印返回值的,必须要带上print 哦
页: [1]
查看完整版本: python的print和return