返回与打印

时间:2015-05-04 00:13:03

标签: python python-3.x return-value python-2.x

我无法在我的课程中找到一个解释/涵盖python 3.3中的返回与打印的教程。

教师提供以下代码,这些代码让我感到困惑。

1:定义一个函数,该函数通过引用变量进行两次传递

2:一个等于添加两个变量的变量

3:虽然变量myFunctionsReturnValue没有显示在此函数之外的任何地方,但此处使用了返回

4:变量赋值

5:另一个变量赋值

6:评论解释这是如何工作的

7:变量等于调用传入两个变量的函数(?!)

8:输出文本和变量SumOfXandY的字符串值

作为一个类,我们被告知在pythonfiddle.com上运行此代码,该代码使用python的pre 3.x版本。叹。我不能得到我的导师的回应,因为据说它是自我解释的。我输了。

def SumTwoNumbers(NumberOne, NumberTwo):
     myFunctionsReturnValue = float(NumberOne) + float(NumberTwo)
     return myFunctionsReturnValue;
x = 11
y = 5
#Call the function, pass in my two parameters and the return value will be assigned to my "SumOfXandY" variable here.....
SumOfXandY = SumTwoNumbers(x,y);
print("The Sum of x and Y is: " + str(SumOfXandY))

当我尝试在我的代码中模仿这个时,我没有通过return发送任何值。

http://repl.it/mVI

4 个答案:

答案 0 :(得分:3)

函数内的

return只是给你一些值,以后可以使用。链接中的代码仅在打印中使用错误的变量:

print(str(feet) + " feet is a total of " + str(inches) + " inches")

应该是

print(str(feet) + " feet is a total of " + str(totalInches) + " inches")
在这种情况下,

return将函数的结果值(返回的值)赋给变量,然后使用与处理任何值相同的方式处理变量。

还有一个函数范围的概念:你不应该尝试修改函数之外的变量,除非你知道你正在做什么(所谓的全局变量),而是通过参数取一些东西,处理它并返回结果。

答案 1 :(得分:1)

如果您还没有这样做,我建议您阅读Python tutorial。它将提供有关函数如何工作的更多细节。

函数的return值是函数调用时输出的值。除非您使用print语句明确指示程序执行此操作,否则您不会从返回值中看到任何打印到屏幕上的内容。所以在这段代码中:

SumOfXandY = SumTwoNumbers(x,y);

正在调用函数SumTwoNumbers,并将xy传递给它。函数的结果 - 其return值 - 被赋值给变量SumOfXandY。然后,以下行中的print语句会在屏幕上显示一条消息。

总结一下:

返回从函数输出值,但不一定要打印它。

打印在屏幕上显示一个值。

答案 2 :(得分:0)

变量不能在其功能之外使用。您应该调用inches

,而不是调用totalInches

print(str(feet) + " feet is a total of " + str(totalInches) + " inches")

所有函数(void除外)都会向其余代码返回一个值。 print函数有效,因为它位于feettoInches函数内。

答案 3 :(得分:0)

补充其他答案的其他一些评论:

  • 在Python中,需要定义/声明变量。你的所有变数 像feet=int(0)这样的声明什么都不会实现,只会让你感到困惑 当你试图解决这个问题时。
  • 您在函数中创建或分配的任何变量都具有“本地范围”,并且只能在该函数中看到。因此,当您在函数中为inches赋值时,无法在函数外看到/访问变量名inches。您的函数返回,然后您可以将其分配给函数外部的全局范围变量,但您仍然无法在函数之外使用变量inches。 / LI>