我无法在我的课程中找到一个解释/涵盖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发送任何值。
答案 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
,并将x
和y
传递给它。函数的结果 - 其return
值 - 被赋值给变量SumOfXandY
。然后,以下行中的print
语句会在屏幕上显示一条消息。
总结一下:
返回从函数输出值,但不一定要打印它。
打印在屏幕上显示一个值。
答案 2 :(得分:0)
变量不能在其功能之外使用。您应该调用inches
:
totalInches
print(str(feet) + " feet is a total of " + str(totalInches) + " inches")
所有函数(void
除外)都会向其余代码返回一个值。 print
函数有效,因为它位于feettoInches
函数内。
答案 3 :(得分:0)
补充其他答案的其他一些评论:
feet=int(0)
这样的声明什么都不会实现,只会让你感到困惑
当你试图解决这个问题时。inches
赋值时,无法在函数外看到/访问变量名inches
。您的函数返回值,然后您可以将其分配给函数外部的全局范围变量,但您仍然无法在函数之外使用变量inches
。 / LI>