鱼C论坛

 找回密码
 立即注册
查看: 1186|回复: 8

[已解决]关于return和print()

[复制链接]
发表于 2018-5-10 17:23:08 | 显示全部楼层 |阅读模式

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

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

x
最近遇到一个问题,想不明白。
先看代码:
  1. def ccc(a,b):   
  2.     return a+b
  3.     print("和是:  ",a+b)
复制代码


自定义了一个函数ccc,想实现输入两个数,直接出和,

但现在的问题是,print里的“和是:XXX”不显示出来。
如图把def 和print放在同一个级别,会显示a没有定义

请问:1,哪里出错了
2,是不是没有这么操作。
3,在日常中,什么时候用print,什么时候用return,我感觉他们都是返回一个东西。

1.png
最佳答案
2018-5-10 17:39:28
请问:1,哪里出错了     #函数一旦遇到return,直接结束,后面的语句不会执行
2,是不是没有这么操作。#可以的,只是会返回两个值。如下面所示
3,在日常中,什么时候用print,什么时候用return,我感觉他们都是返回一个东西。#print 有打印需求时; return 函数的返回值

def ccc(a,b):
    print("和是:  ",a+b)
    return a+b

>>> ccc(1,2)
和是:   3
3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-10 17:24:54 | 显示全部楼层
函数里面遇到return就结束了,后面的语句都不执行
请把print语句放到return前面一行即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-5-10 17:36:12 | 显示全部楼层
定义的函数里边,遇到return就会结束当前层次的函数,所以后面的print语句不会被执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-10 17:39:28 | 显示全部楼层    本楼为最佳答案   
请问:1,哪里出错了     #函数一旦遇到return,直接结束,后面的语句不会执行
2,是不是没有这么操作。#可以的,只是会返回两个值。如下面所示
3,在日常中,什么时候用print,什么时候用return,我感觉他们都是返回一个东西。#print 有打印需求时; return 函数的返回值

def ccc(a,b):
    print("和是:  ",a+b)
    return a+b

>>> ccc(1,2)
和是:   3
3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-5-10 17:53:36 | 显示全部楼层
本帖最后由 朋老师 于 2018-5-10 18:01 编辑

def ccc(a,b):   
    return '和是:  ',(a+b)

亲测有效,就是输出结果有点丑

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-10 18:05:20 | 显示全部楼层
没有错,return有2个作用:结束函数和返回结果,通常情况下同时使用这2个功能  (执行到return肯定就是结束函数,不会再执行同一层级下,后面的代码了   在java中,return后面除了返回值,是不可以跟命令语句的,会报错,但在Python中并不那么严格 )

关于print和return的用法,print只是打印显示,后续程序代码无法使用其内容,但是return的结果可以供后续代码调用执行,建议使用return,实际开发中也是使用return,print更多的只在调试中使用,例如排错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-10 18:08:50 | 显示全部楼层
朋老师 发表于 2018-5-10 17:53
def ccc(a,b):   
    return '和是:  ',(a+b)

不可以的,如果是那样写,传入的必须是字符串 str 类型的,否则会报错
但是如果是字符串 str 类型的,那么执行的结果是字符串的拼接,而不是数学运算
所以这样是不行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-10 18:28:43 | 显示全部楼层
谢谢,都很对。谢谢各位。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-10 22:08:36 | 显示全部楼层
def ccc(a,b):
    return a+b

result=ccc(1,2)
print('result',result)

这样也行 的 ,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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