python函数旁边的另一个括号

python函数旁边的另一个括号,python,function,brackets,Python,Function,Brackets,我有如下代码 x = inputs if conv_first: x = conv(x) if batch_normalization: x = BatchNormalization()(x) if activation is not None: x = Activation(activation)(x) 在这里,我不明白x=BatchNormalizationx是如何像x=Activationactivationx一样工作的。如果是Ba

我有如下代码

x = inputs
if conv_first:
    x = conv(x)
    if batch_normalization:
        x = BatchNormalization()(x)
    if activation is not None:
        x = Activation(activation)(x)
在这里,我不明白x=BatchNormalizationx是如何像x=Activationactivationx一样工作的。如果是BatchNormalizationx,那就很容易了

任何人都可以用简洁的方式解释它是什么以及它是如何工作的


非常感谢。这两个类似乎都实现了调用。然后,BatchNormalization创建一个实例并调用x。对实例调用x。

这两个类似乎都实现了调用。然后,BatchNormalization创建一个实例并调用x。对实例调用x。

不确定情况是否如此,但如果第一个被调用的对象返回另一个函数,则可以使用语法

考虑以下代码:

def f(arg):
    print(arg)

def g():
    return f

x = "hi"

g()(x)  # equivalent to f(x), since f is what g returns

请注意,g返回函数f时没有实际执行它,这就是g的return语句中没有括号的原因。

不确定情况是否如此,但如果第一个调用的对象返回另一个函数,则语法是可能的

考虑以下代码:

def f(arg):
    print(arg)

def g():
    return f

x = "hi"

g()(x)  # equivalent to f(x), since f is what g returns

请注意,g返回函数f时没有实际执行它,这就是g的return语句中没有括号的原因。

术语是括号。请看括号中的术语。请看