You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3中使用def、return编写函数报SyntaxError无效语法如何解决?

Def, return

报错原因

你遇到的语法错误是Python交互式解释器(带>>>提示符的运行环境)的特有规则导致的:
在交互环境中定义带缩进的代码块(比如函数、循环、条件判断)时,必须在代码块最后一行结束后敲一次空行,告诉解释器当前代码块已经定义完成,回到顶层输入状态。你在写完return x*x之后直接输入了顶格的print语句,解释器会默认print仍然属于square函数的内部代码,缩进不匹配就会抛出SyntaxError。

正确操作方式

交互式解释器环境操作步骤

  • 输入def square(x):后按回车,解释器会自动生成缩进前缀
  • 输入缩进后的return x*x,按回车
  • 直接再次按回车(不要输入任何内容),结束函数定义,此时会重新出现>>>提示符
  • 输入print(square(4)),按回车即可得到正确输出

正确运行的交互示例如下:

>>> def square(x):
...     return x*x
... 
>>> print(square(4))
16

脚本文件运行注意事项

如果是将代码写在.py后缀的脚本文件中运行,不需要额外加空行,只要保证def和print语句都是顶格书写、缩进层级正确,即可正常运行。

内容的提问来源于stack exchange,提问作者Frankie win

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:12:02