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

Python 3.6.5中except语句语法错误及缩进问题求助

你的Python代码问题解决指南

首先来说你遇到的语法错误:这是Python版本兼容导致的!在Python 3里,捕获异常的语法已经从except ValueError, e:改成了except ValueError as e:,逗号的写法是Python 2的旧语法,所以Python 3解释器会直接报错。

另外还有一个容易忽略的隐藏问题——你在if __name__ == '__main__':块里调用了is_json('test'),但这个函数的定义是在if块之后的。当Python执行到调用语句时,函数还没被定义,运行时会抛出NameError,这个也得一起修正。

关于你提到的缩进问题:只用制表符是完全没问题的,只要保证整个代码的缩进层级一致(比如函数内部的try/except块都正确缩进),就不会有缩进相关的报错。

修正后的完整代码如下:

import json

def is_json(str):
    try:
        json.loads(str)
    except ValueError as e:
        return False
    return True

if __name__ == '__main__':
    # 可以加个打印查看函数执行结果
    print(is_json('test'))

核心修改说明:

  • 替换异常捕获的语法,适配Python 3的规范要求
  • 将函数定义移到调用语句之前,确保调用时函数已经被加载定义
  • 保持制表符缩进的一致性(你的缩进习惯没问题,只要全程统一就不会有问题)

运行这段代码,会输出False,符合函数的预期功能,也不会再报语法错误啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:57:57