Я не совсем понимаю, что этот код вида:Python самостоятельно принимает арг, самостоятельно (арг)
# instantiate the input layer
x = Input(batch_shape=batch_input_shape,
dtype=input_dtype, name=name)
# this will build the current layer
# and create the node connecting the current layer
# to the input layer we just created.
self(x)
Этот код находится внутри функции-члена класса, пожалуйста, обратитесь к https://github.com/fchollet/keras/blob/master/keras/engine/topology.py линии 341. Когда Я вхожу в self (x), он перескакивает на другую функцию-член __call__ этого класса. Почему это происходит? Благодарю.
https://docs.python.org/3/reference/datamodel.html#object.__call__ – interjay
Объект может быть вызван, если его класс имеет метод '__call__'. 'self' - текущий объект. Когда вы вызываете объект, тогда управление передается '__call__' - как вы нашли. Вы можете проверить, поддерживается ли это с помощью встроенной функции 'callable()'. – cdarke
@cdarke Спасибо за ваше объяснение. Теперь я понимаю. – tuming1990