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

Python中x = function(arguments)(variable)的语法名称及运行原理

语法说明

你见到的这类写法没有专属的独立语法命名,它本质是可调用对象返回后的连续调用,属于Python高阶函数特性的典型用法,常和柯里化、偏函数的实现场景绑定。

运行原理

你给出的代码x = function(arguments)(variable)执行逻辑可以拆分为两步,和下面的写法完全等价:

# 第一步:调用function并传入arguments,得到返回值temp
temp = function(arguments)
# 第二步:temp本身是可调用对象(支持像函数一样执行),继续传入variable调用,结果赋值给x
x = temp(variable)

只要第一个函数调用的返回值是可调用对象,就可以使用这种连续括号的写法,常见的可调用对象返回场景有三类:

  • 函数返回另一个嵌套函数
    示例如下:
# 定义一个生成加法器的工厂函数
def add_num(n):
    def inner(x):
        return x + n
    return inner

# 连续调用写法,最终结果为8
x = add_num(3)(5)
  • 返回实现了__call__魔术方法的类实例
    Python中只要类定义了__call__方法,它的实例就可以像函数一样被调用:
class Calculator:
    def __init__(self, base):
        self.base = base
    def __call__(self, num):
        return self.base * num

# 连续调用写法,最终结果为20
x = Calculator(4)(5)
  • 标准库生成的偏函数对象
    Pythonfunctools模块提供的偏函数工具也支持这种写法:
from functools import partial

def calc(a, b):
    return a ** b

# 先固定第一个参数为2,得到偏函数后再传入第二个参数3,最终结果为8
x = partial(calc, 2)(3)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:15:02