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

为何Python中变量引用函数时报错?JS可实现该操作

为什么Python中不能像JS那样直接把函数赋值给变量?

嘿,我完全懂你的疑惑!你说得没错——Python里一切皆对象,函数当然也不例外,本质上和JS里的函数对象是一样的,都能被赋值给变量、作为参数传递等等。你遇到报错,问题出在语法规则的差异上,而不是Python不支持这个特性。

先看你JS里的写法,用的是匿名函数直接赋值:

var add = function(a,b){ return a+b };
console.log(add(3,5)) // 输出8

在Python里,你不能直接照搬function这个关键字(Python里没有这个语法),但有两种等价的正确写法:

方法1:使用lambda表达式(对应JS的匿名函数)

lambda是Python里定义简单匿名函数的方式,写法更简洁:

add = lambda a, b: a + b
print(add(3, 5))  # 输出8

方法2:先定义具名函数,再赋值给变量

如果你的函数逻辑更复杂,适合先正常定义函数,再把函数名赋值给变量:

def add_func(a, b):
    return a + b

add = add_func
print(add(3, 5))  # 同样输出8

你遇到的错误(从图片来看),大概率是因为你直接用了JS的语法写Python代码,比如写了类似add = function(a,b){...}的语句——Python不认识function这个关键字,自然会抛出语法错误啦。

总结一下:Python完全支持把函数赋值给变量的操作,只是语法和JS不同,换用lambda或者先定义具名函数再赋值就可以解决问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:14:49