"返回声明的目的是什么?"

2024-04-26 05:34:32 发布

您现在位置:Python中文网/ 问答频道 /正文

返回语句是什么的简单基本解释是什么,如何在Python中使用它?

它和print语句有什么区别?


Tags: 语句print区别
3条回答

print()函数在控制台中写入一个字符串,即“prints”。return语句使函数退出并将值返回给调用方。一般来说,函数的作用是接收输入并返回某些内容。当函数准备好向调用方返回值时,使用return语句。

例如,这里有一个同时使用print()return的函数:

def foo():
    print("hello from inside of foo")
    return 1

现在可以运行调用foo的代码,如下所示:

if __name__ == '__main__':
    print("going to call foo")
    x = foo()
    print("called foo")
    print("foo returned " + str(x))

如果将其作为脚本(例如.py文件)运行,而不是在Python解释器中运行,则将获得以下输出:

going to call foo
hello from inside foo
called foo   
foo returned 1

我希望这能让事情更清楚。解释器将返回值写入控制台,这样我就可以理解为什么会有人感到困惑。

下面是来自解释器的另一个示例,它表明:

>>> def foo():
...     print("hello from within foo")
...     return 1
...
>>> foo()
hello from within foo
1
>>> def bar():
...   return 10 * foo()
...
>>> bar()
hello from within foo
10

您可以看到,当从bar()调用foo()时,1不会写入控制台。相反,它用于计算从bar()返回的值。

print()是一个导致副作用的函数(它在控制台中写入一个字符串),但执行将在下一条语句中继续。return导致函数停止执行并将一个值返回给任何调用它的函数。

把print语句看作是一个副作用,它使您的函数向用户输出一些文本,但不能被其他函数使用。

我将尝试用一些例子和维基百科的一些定义来更好地解释这一点。

以下是Wikipedia对函数的定义

在数学中,函数将一个量、函数的参数(也称为输入)与另一个量、函数的值(也称为输出)相关联。。

想一想。当你说函数有值是什么意思?

它的意思是你可以用一个正常值来代替一个函数的值!(假设两个值是同一类型的值)

你为什么要问这个?

其他可能接受与输入相同类型值的函数呢?

def square(n):
    return n * n

def add_one(n):
    return n + 1

print square(12)

# square(12) is the same as writing 144

print add_one(square(12))
print add_one(144)
#These both have the same output

对于只依赖输入来产生输出的函数,有一个奇特的数学术语:引用透明性。再一次,维基百科的定义。

引用透明性和引用不透明性是计算机程序部分的属性。如果一个表达式可以用它的值替换而不改变程序的行为,则该表达式称为引用透明的

如果你刚开始编程的话,可能有点难以理解这意味着什么,但我认为你会在一些实验之后明白这一点。 不过,一般来说,您可以在函数中执行print之类的操作,也可以在末尾使用return语句。

请记住,当您使用return时,您基本上是在说“对这个函数的调用与写入返回的值是相同的”

如果拒绝输入自己的值,Python实际上会为您插入一个返回值,称为“None”,它是一种特殊的类型,只表示“nothing”或“null”。

我认为这本词典是你最好的参考书

ReturnPrint

简而言之:

return向函数的调用方返回回复print生成文本

相关问题 更多 >