鱼C论坛

 找回密码
 立即注册
查看: 852|回复: 4

[已解决]python的print和return

[复制链接]
发表于 2020-6-12 05:35:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
初学编程,对输出和返回值不是很了解。

以阶乘函数为例:

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 08:12:37

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

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

但是你在编辑器里面调用是不会直接打印返回值的,必须要带上print 哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-12 06:16:44 | 显示全部楼层
return的值可以付给一个变量,也可以打印出来
就像a = factorial(5)
        print(a)
打印的是返回值
直接print(factorial(5))也一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 07:48:38 | 显示全部楼层
电脑没有那么智能。你让干嘛就干嘛,不会多做一件事的。
return是结束函数,并返回一个值。print是打印一个值(也就是所谓的显示出来)。
打个比方,return就是你安排一个人出去办事,然后办完后他就回来了。你不问他他不会告诉你结果的。print就相当于问他结果如何,然后他把结果展示出来了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 08:05:23 | 显示全部楼层
拿银行举例子:

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

而return主要是给后台操作用的,比如客户在前台取钱了,后台需要把这个取钱的数字从账户里划去,加工一下,再返回给后台。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 08:12:37 | 显示全部楼层    本楼为最佳答案   

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

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

但是你在编辑器里面调用是不会直接打印返回值的,必须要带上print 哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 19:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表