You need to enable JavaScript to run this app. 如何解决Python代码运行时的NameError: 'colour'未定义报错
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Python代码运行时的NameError: 'colour'未定义报错

错误产生原因
  • 代码中所有为colour变量设定取值的分支,全部误用了相等判断运算符==,而非变量赋值运算符=。
  • Python执行==逻辑时仅会读取两侧的值做相等性对比,全程不会创建、绑定任何变量,因此函数运行过程中从未在函数作用域内真正定义colour这个标识符。
  • 这类笔误在语法层面完全合法,Python不会在代码加载阶段做语法报错;直到运行到引用colour的步骤时,Python在当前作用域找不到对应的变量定义,就会抛出变量未定义的报错(实际运行中这类代码通常会在首次执行colour == 'xxx'的分支时触发未绑定局部变量报错,本质根因和变量从未被赋值创建完全一致)。
完整修正方案
  • 将所有分支内的colour == 'xxx'语句中的双等号替换为单等号的赋值运算符,保证每个分支执行时都会正常完成colour变量的定义与赋值。
  • 修正后的可正常运行代码:
def image(version):
    if version == 'A':
        colour = 'red'
    elif version == 'B':
        colour = 'green'
    else:
        colour = 'yellow'
    print(colour)

image('A')
  • 代码运行后将正常输出red,不会触发变量未定义相关的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 20:18:03