title: What does Function(params...)(params) do in python?
body: <p>I meet some Keras functions that look like the following : Function(1*List of parameters separated by commas)(2*A parameter). But I don't understand what does Function do on the second list of parameters. I have never met this kind of functions in Python. The usual type of functions' prototypes I see are of the following : Function(List of parameters)</p>
  
  <p>Example of these functions met in Keras :</p>
  
  <p><code>x = Dense(128, activation='relu')(x)
  x = Dropout(0.35)(x)
  out = Dense(num_classes, activation='softmax')(x)</code></p>
  
  <p>In this case, it looks like that Function takes into account what was done precedently on x before applying on it new changes. </p>
  
  <ol>
  <li>Is this kind of function writing backed by any Python manual ? </li>
  <li>Is it a new type of function writing in Python ?</li>
  <li>How does it work ?</li>
  </ol>