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

Python比较两函数返回值始终判定相等的原因及解决方法

异常判定原因

两个函数始终被判定相等,核心来自Python的函数返回规则:

  • Python语法明确规定:如果函数内没有写显式的return语句返回值,函数执行结束后默认会返回None
  • 你写的test1()、test2()仅在函数内部给局部变量a、b赋值,并没有把这两个值返回给外部调用逻辑,所以不管你给a、b设置多大差异的数值,外部调用两个函数拿到的返回值全都是None,两个None做相等判断自然永远为真,就会一直打印二者相等的提示。
  • 额外提示:你贴出的示例代码里print语句用的是中文全角单引号,直接运行会触发语法错误,实际编写时需要替换为英文半角引号。
修改方法

只需要给两个函数加上return语句,把需要比较的数值返回即可,修改后的可正常运行代码如下:

def test1():
    a = 1
    return a

def test2():
    b = 2
    return b

if test1() != test2():
    print('test1 not equal to test2')
else:
    print('test1 equal to test2')

运行上述代码就会正确输出test1 not equal to test2的结果。你之前单独写的两行test1()、test2()调用没有接收返回值,对后续比较逻辑没有任何作用,可以直接删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:03:19