Python 'Return Outside Function' 错误2024 年 8 月 29 日 | 阅读 6 分钟 在本 Python 教程中,我们将探讨如何解决“SyntaxError: return outside function python”(Python 中函数外的 return 语法错误)以及“can't assign to function call”(不能为函数调用赋值)等错误。在使用 Python 函数时,会出现函数外部返回的错误。 在编程中,函数是一个非常有用的工具。它们使我们能够将代码块打包并为其命名。通过在代码的其他位置调用这个代码块,我们可以根据需要重复执行所述任务。 此外,函数允许我们将计算的结果返回到 Python 程序的 main 部分。但是,我们在执行此操作时需要小心,因为一个错误可能会导致问题。 Return 语句return 命令可以停止函数的执行,同时将返回的值传递回调用它的地方。例如: 代码 我们创建了 return_variable() 函数,该函数将变量赋值为 1。然后返回该值,并将其返回给主 Python 程序以进行进一步处理。 如果我们直接在 Python 解释器中执行此代码,调用该函数将立即显示 return 语句的结果。 代码 输出 1 函数调用执行函数块中的代码。然后,函数将 a 的结果返回给解释器。 Return Outside Function Python SyntaxError(Python 中函数外的 Return 语法错误)如果 return 语句使用不当,Python 将会产生一个 SyntaxError,警告我们存在问题。有时语法错误可能会显示“return”超出函数范围。简单来说,我们试图在一个函数块之外声明一个 return 语句。 函数定义和 return 语句是紧密相关的。在接下来的部分中,我们将探讨 return 语句的一些错误用法以及相应的解决方案。 因缩进导致的 Return Outside Function Python SyntaxError(Python 中函数外的 Return 语法错误)错误的缩进是导致 Return Outside Function Python SyntaxError(Python 中函数外的 Return 语法错误)的常见原因。Python 使用缩进来表示多个语句和操作属于同一代码块或作用域。如果 return 语句的缩进不正确,Python 就无法识别它属于哪个函数。 让我们看一个例子: 代码 输出 File " 我们正在尝试创建一个函数,用于对两个变量 a 和 b 求和。在将 c 设置为其他值之和后,我们希望返回此值。 然而,当我们输入 return c 时,Python 会引发语法错误。请注意插入符号(caret),它指示了问题所在。解释器并没有明确说明 return 语句有什么问题,但它确实存在问题。 如果我们将函数放入一个文件并从终端运行它,我们会看到更多信息: Python 明确表示已在函数外部声明了 return 语句。 让我们更详细地检查我们定义的函数: 红线指示了函数定义开始的缩进级别。在接下来的几行中,我们应该将所有要定义为该函数一部分的内容缩进四个空格。Python 将第一行 c = a + b 包含在函数块中,因为它缩进了四个空格,是正确的。 但是,return 语句没有任何缩进。它与 def 关键字处于同一级别。由于没有缩进,Python 将其排除在函数块之外。然而,由于这与函数作用域的缩进级别不匹配,Python 会引发错误。所有 return 语句都必须包含在函数块内。 此时,return 语句应该缩进所需的空格数来解决此问题。 此时,return 语句不再越过红线。它已向右移动了四个空格,成为函数块的一部分。当我们直接在解释器中或从文件中运行此代码时,我们会得到正确的结果。 代码 输出 The returned value of the function:- 9 Python SyntaxError: Return Value Outside Function Due to Looping(Python 语法错误:因循环导致函数外返回值)循环是此问题可能发生的另一个位置。循环允许程序员重复运行相同的代码块,而无需手动编写相同的指令。 循环的定义在外观上可能类似于函数的定义。因此,一些开发者可能会错误地认为两者具有相同的语法。下面是一个尝试返回结果的 while 循环示例: 代码 输出 File " 此代码片段建立了一个 while 循环,并将计数器初始化为 0。只要计数器的值小于 10,循环就会显示计数器的当前值。但是,当计数器等于 7 时,循环应该结束并将计数器值返回到 main 程序。 在这种情况下,我们可以清楚地看到 Python 解释器也引发了 Python 语法错误,显示消息“return outside function”。解释器将错误定位在第 4 行,即 our while loop body 的第四行,我们在这里写了“return c”。 由于我们只能在函数声明内部使用 return 关键字,因此会导致此错误。单个循环无法产生值。有两种方法可以处理此类问题。一种替代方法是使用 break 语句而不是 return,这将会在达到所需条件时终止循环。 代码 输出 0 1 2 3 4 5 6 7 8 现在,我们在循环的第四行使用了 break 而不是 return c。正如我们所见,循环在每次迭代时都会显示 c 的值并将其加一。循环在数字 8 处中断。由于我们在每次循环结束后更改值,因此 c 的值仍然存储着,并且我们可以将其显示出来以确认它等于八。 有一种方法可以将循环与 return 语句结合使用。只需将循环包含在函数声明中即可。这样,我们就可以保持 return c 而没有任何语法问题。 将 while 循环包含在函数中 代码 输出 0 1 2 3 4 5 6 7 尽管函数中的 while 循环仍然包含 return 语句,但由于整个循环体都包含在 count() 中,Python 会正确地将其与 count 函数声明关联起来。如果我们执行此代码,该函数将按预期工作。 我们将看到上面代码中的 return 语句正在做什么。 代码 输出 0 1 2 3 4 5 6 7 The result:- 7 |
在本教程中,我们将学习参数的打包和解包。Python 提供了一个独特的功能来打包或解包参数。假设我们有一个函数,它接受五个参数;我们创建一个包含五个元素的列表并将其传递给...
阅读 8 分钟
NumPy 是一个广受欢迎的数组操作库,有时也称为 Numeric Python。由于图像只是一组具有不同颜色代码的像素,因此可以使用 NumPy 将数组转换为图像。除了 NumPy,PIL(通常称为 Pillow)也将是...
5 分钟阅读
在本教程中,我们将了解如何借助 Python 编程语言将 CSV 格式文件转换为 JSON 格式文件。但在开始之前,让我们了解 CSV 和 JSON 文件的含义。什么是 CSV 文件?CSV 文件是...
5 分钟阅读
在本文中,我们将讨论如何在 Python 中将集合转换为列表。在此之前,让我们快速回顾一下列表和集合。列表 - 它是由方括号括起来的元素序列,每个元素用逗号分隔。语法...
阅读 3 分钟
由于数据中心 Python 包的出色生态系统,Python 被认为是进行数据分析的优秀编程语言之一。Pandas 是 Python 中提供的此类包之一,它使得导入和...
阅读 6 分钟
Python 的控制台是什么意思?本质上,控制台(也称为 Shell)是一个命令行解释器,它一次处理用户的输入或一个命令。如果没有错误,则执行命令并产生必要的输出;否则,将发生错误...
阅读 2 分钟
较新的 Python 版本比早期版本更快。Python 3.8 带来了许多改进,提升了其性能。我们无法理解 Python 的性能在于灵活的动态语言与性能之间常常存在权衡。我们不能拥有一切...
阅读 2 分钟
Python 中的 mechanize 模块是一个提供程序化网页浏览接口的库。它本质上是一个浏览器模拟器,允许您在 Python 脚本中自动化与网页的交互。该模块构建在 urllib2 模块之上,并支持...
阅读 16 分钟
在本教程中,我们将学习使用 Python Prettytable 模块创建一个关系表。我们将在不使用外部库的情况下创建表格。什么是 Pretty Table?Pretty tables 是数据在表格形式下的可视化表示。这些是 ASCII 表格,易于使用....
阅读9分钟
基础/必备知识简介:字典是 Python 中可用的数据类型之一。如果您熟悉集合和列表,那么字典就是另一种数据存储方式。从正式定义来看,字典是存储在...中的无序数据集合。
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India