Flatten () - это экземпляр класса (который, вероятно, вам понятен), а второй вызывает экземпляр с этим параметром. Чтобы это работало, в классе должна быть определена функция __call__
.
Пример:
class Sum:
def __call__(self, a, b, c):
return a + b + c
s = Sum()
print(s(3, 4, 5))
print(Sum()(3,4,5))
Также такое же поведение может быть получено с функцией, которая возвращает другую функцию с аргументами:
def Sum2():
def Sum3(a, b, c):
return a + b + c
return Sum3
s2 = Sum2()
print(s2(3, 4, 5))
print(Sum2()(3, 4, 5))