鱼C论坛

 找回密码
 立即注册
查看: 3389|回复: 10

print 和 return的区别

[复制链接]
发表于 2019-12-10 21:34:47 | 显示全部楼层 |阅读模式

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

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

x
  1. class Rectangle:
  2.     length = 5
  3.     width = 4
  4.    
  5.     def setRect(self):
  6.         print("请输入矩形的长和宽...")
  7.         self.length = float(input('长:'))
  8.         self.width = float(input('宽:'))

  9.     def getRect(self):
  10.         print('这个矩形的长是:%.2f,宽是:%.2f' % (self.length, self.width))
  11.         
  12.     def getArea(self):
  13.         return self.length * self.width
复制代码

不明白这个代码最后一行为啥是return,用print输出看着也没区别
class Rectangle:
    length = 5
    width = 4
   
    def setRect(self):
        print("请输入矩形的长和宽...")
        self.length = float(input('长:'))
        self.width = float(input('宽:'))

    def getRect(self):
        print('这个矩形的长是:%.2f,宽是:%.2f' % (self.length, self.width))
        #%.2f是将该浮点数float保留两位小数。2表示保留的位数
    def getArea(self):
       print(self.length * self.width)
R=Rectangle()
R.setRect()
R.getRect()
R.getArea()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-10 21:36:33 | 显示全部楼层
print return 有区别吗?
功能完全不一样的函数,怎么会这么一问。多了解函数的用法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 21:42:39 | 显示全部楼层
你把函数赋给某一个变量,你看看赋值过后的那个变量,是什么值,也许你就清楚了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 21:56:59 | 显示全部楼层
本帖最后由 jackz007 于 2019-12-10 22:00 编辑

        print() 是函数,专门用于向屏幕输出信息;return 不是函数,用于终结函数运行,同时,用于返回函数值,二者在功能和用法上可以说是 "风、马、牛" 的关系,不存在任何的可比性。我很好奇,是什么机缘让楼主把它们联系在一起?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 22:16:48 | 显示全部楼层
print() 是一个函数,用于向屏幕输出内容;return 是 Python 的关键字,用于在函数中返回。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 23:41:34 From FishC Mobile | 显示全部楼层
你可以试着把面积赋值给新的变量,然后求出变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-11 09:22:44 | 显示全部楼层
做个不太恰当的比喻。
你要下属给你准备个发言稿,你要在大会上讲,print就是下属直接在会上发言了,把你晾在一边,return是给你准备好稿子,你来讲。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-11 12:46:13 | 显示全部楼层
jackz007 发表于 2019-12-10 21:56
print() 是函数,专门用于向屏幕输出信息;return 不是函数,用于终结函数运行,同时,用于返回函 ...

我猜是交互式python shell的锅,甲鱼的视频就是用的idle
交互式的里面直接给你把值输出到屏幕上,所以函数如果有return,执行函数直接打印结果出来了
给楼主整蒙了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-11 12:52:15 | 显示全部楼层
chenjeyok 发表于 2019-12-11 12:46
我猜是交互式python shell的锅,甲鱼的视频就是用的idle
交互式的里面直接给你把值输出到屏幕上,所以函 ...

函数的return是返回一个值
举个例子

def add(x, y):
    return x + y

z = add(1, 2)

执行的时候,理解成return的东西会直接替换掉函数
就相当于 z= x+y (其中x=1,y=2)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-26 20:28:03 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-8 10:06:52 | 显示全部楼层
你用print只是打印,并不会返回任何东西,如果在函数中间使用,并不会结束函数。
如果你用一个变量给赋值,这个变量的值是None。
用 return ,会返回,在函数中间使用,会返回这个值,并把这个函数结束。
如果你用一个变量给赋值,这个变量的值是就是return后面的值。
举个例子:
  1. >>> # 使用print
  2. >>> def f1():
  3.         print('Hello World!')

  4.        
  5. >>> a = f1()
  6. Hello World!
  7. >>> a
  8. >>> print(a)
  9. None
  10. >>> # 使用return
  11. >>> def f2():
  12.         return 'Hello Wolrd!'

  13. >>> a = f2()
  14. >>> a
  15. 'Hello Wolrd!'
  16. >>> print(a)
  17. Hello Wolrd!
  18. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 07:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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