返回介绍

3.2 返回值和 return 语句

发布于 2024-01-22 21:44:07 字数 1712 浏览 0 评论 0 收藏 0

如果调用len()函数,并向它传入像'Hello'这样的参数,函数调用就求值为整数5。这是传入的字符串的长度。一般来说,函数调用求值的结果,称为函数的“返回值”。

用def语句创建函数时,可以用return语句指定应该返回什么值。return语句包含以下部分:

· return关键字;

· 函数应该返回的值或表达式。

如果在return语句中使用了表达式,返回值就是该表达式求值的结果。例如,下面的程序定义了一个函数,它根据传入的数字参数,返回一个不同的字符串。在文件编辑器中输入以下代码,并保存为magic8Ball.py:

❶ import random

❷ def getAnswer(answerNumber):
❸     if answerNumber == 1:
         return 'It is certain'
     elif answerNumber == 2:
         return 'It is decidedly so'
     elif answerNumber == 3:
         return 'Yes'
     elif answerNumber == 4:
         return 'Reply hazy try again'
     elif answerNumber == 5:
         return 'Ask again later'
     elif answerNumber == 6:
         return 'Concentrate and ask again'
     elif answerNumber == 7:
         return 'My reply is no'
     elif answerNumber == 8:
         return 'Outlook not so good'
     elif answerNumber == 9:
         return 'Very doubtful'

❹ r = random.randint(1, 9)
❺ fortune = getAnswer(r)
❻ print(fortune)

在这个程序开始时,Python首先导入random模块❶。然后getAnswer()函数被定义❷。因为函数是被定义(而不是被调用),所以执行会跳过其中的代码。接下来,random.randint()函数被调用,带两个参数,1和9❹。它求值为1和9之间的一个随机整数(包括1和9),这个值被存在一个名为r的变量中。

getAnswer()函数被调用,以r作为参数❺。程序执行转移到getAnswer()函数的顶部❸,r的值被保存到名为answerNumber的变元中。然后,根据answerNumber中的值,函数返回许多可能字符串中的一个。程序执行返回到程序底部的代码行,即原来调用getAnswer()的地方❺。返回的字符串被赋给一个名为fortune变量,然后它又被传递给print()调用❻,并被打印在屏幕上。

请注意,因为可以将返回值作为参数传递给另一个函数调用,所以你可以将下面3行代码

r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)

缩写成一行等价的代码:

print(getAnswer(random.randint(1, 9)))

记住,表达式是值和操作符的组合。函数调用可以用在表达式中,因为它求值为它的返回值。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文