python中print与return区别_关于python:’print’和’return’有什么区别?

首先,我只是一个初学者,所以请原谅我。

我有一个问题要问:"定义一个称为avg的函数。它要求用户输入三个数字并打印其平均值。"

然后是另一个问题,询问"定义一个称为avg4的函数。它要求用户输入四个数字并返回四个数字的平均值"

我只想知道这是否是一个棘手的问题? 因为根据我的理解,"打印"会在控制台中打印输出,而"返回"是功能的一部分,并且实际上在控制台中没有任何输出。

这是我第一个问题的代码,第二个问题有什么区别? (除了四个数字,而不是三个)

def avg(a, b, c):

sum = (a+b+c)/3

return sum

a1 = avg(float(input("First number:")), float(input("Second number:")), float(input("Third number:")))

在编写作业时,为了避免使用相同的单词,通常互换使用两个单词。 从上下文来看,鉴于您提到的没有功能性上下文,因此"返回"与"打印"相同。 同样,您应该编辑问题,因为您的代码编写不正确。

我不知道这是一个把戏,一个措辞不佳的问题,还是作者准确地描述了需要什么……但您应该坚持使用字面描述并按要求去做。 avg应该打印平均值并返回None,而avg4应该返回平均值。如果以后有任何争议("不要按照我说的去做,不要做我想做的事"),则可以正确地声称您做了被要求的事情。

在高风险的工作环境中,您会回过头来得到澄清,因此与给您分配任务的人交谈也是合理的。

def avg():

"""Ask the user for three numbers and print the average"""

numbers = []

for i in range(1, 4):

numbers.append(float(input('Number {}: '.format(i))))

print('Average', sum(numbers)/3)

def avg4():

"""Ask the user for 4 numbers and return the average"""

numbers = []

for i in range(1, 5):

numbers.append(float(input('Number {}: '.format(i))))

return sum(numbers)/4)

任何函数a返回一个值-然后可以将其分配给名称y或传递给另一个函数b,例如y = a(x)或z = b(a(x))。

在函数定义中,可以有任意数量的return语句:调用该函数时,将执行这些语句,直到遇到任何return something语句为止,然后才返回对something的引用;和以下任何语句将被忽略。

实际上,如果没有显式键入return语句,则None将在函数末尾隐式返回。

print语句不会对此产生任何干扰。它只是打印您所说的内容,然后代码继续执行。

打印的值不必是从函数返回的值。那是很大的不同。

好的,谢谢,因此,如果我要求我print一条语句,他们想要在屏幕上显示一些输出,但是如果他们要求我return一条语句,他们只是想让我定义一个函数,但没有任何输出屏幕?

是的,我在结尾处输入了print(a1),但是有人编辑了我的问题并出于某种原因将其取消。

在第一种情况下,您的函数可以不返回就打印(或者,正如我所说,它将隐式返回None),或者不打印就返回。

@timgeb-您编辑了很多内容,但编写得不好:但是我故意这样写,有一点您编辑有误;)...:您没有得到返回的something值,而是一个指针(是) ,这会有所不同,如果将较高范围的可变变量传递给该函数然后返回,则更改结果将对原始源产生影响。我错了吗?

@Ilja,您是对的,"对某事的引用"会更精确。

啊,谢谢,我是对的:)-嗯,这就是为什么我最初只写something的原因,以使其听起来不那么复杂。

因此,如果我提交了此信息,是吗? def avg(a, b, c): sum = (a+b+c)3 print(sum) a1 = avg(float(input("First number:")), float(input("Second number:")), float(input("Third number:")))

和def avg4(a, b, c, d): sum = (a+b+c+d)4 return sum a1 = avg4(float(input("First number:")), float(input("Second number:")), float(input("Third number:")), float(input("Fourth number:")))

对不起,这一切都很混乱,但我不知道该如何改变

嗯,这是两个函数,第一个函数打印,第二个函数返回传递的参数的平均值。但确切地说,不是用户函数提示用户输入数字:您在函数外部进行操作并将其传递给avg()。与此相反,在tdelaney的解决方案中,提示位于函数内部。

差异可能很细微,但是如果您将这些单词扎根,则将是一个根本的差异。

返回通常与一个函数相关联(尽管不一定!)。函数可能会返回一个值,特别是如果您以经典的类比来考虑函数,该函数接受某物并吐出产品。因此,基本上,您会说,当x是函数或某些类似结构时,x返回某些内容。

打印的含义更为粗略,通常,它只是在屏幕上显示某些内容。您可以打印某些内容而不将其作为函数的返回值,或者可以完全在函数之外进行打印。这里的想法是,可以将打印视为特定类型的退货,而不是同义词。

了解有关退货和打印的更多信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值