0 / 0 / 1
Регистрация: 16.05.2013
Сообщений: 24
1

Непонятки с синтаксисом

20.04.2018, 18:13. Показов 595. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Недавно, читая на хабре одну статью по Керас, увидел в приведенном там коде совершенно неизвестную и непонятную мне фикчу, выглядит это так:
Python
1
2
inp = Input(shape=(height * width,))
hidden_1 = Dense(hidden_size, activation='relu')(inp)
Собственно, ссылка на статью под спойлером.
Кликните здесь для просмотра всего текста

Ну так вот, во второй строке в объявлении объекта класса Dense присутствует такого рода конструкция: var = Class()(), то бишь скобки дважды открываются и закрываются. Так вот что же означает этот синтаксический монстр и как это работает?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2018, 18:13
Ответы с готовыми решениями:

Непонятки с синтаксисом
ребата, помогите с синтаксисом, ссылки не проставляются, а просто выводятся теги и все. //...

Непонятки с синтаксисом
В заголовочном файле мне встретилось такое описание класса: class source_mcast_reciever { ...

Очередные непонятки с синтаксисом
Я вожусь с классом, хидер которого выглядит так: class source_mcast_reciever { ...

неясность с синтаксисом
Здравствуйте! При разборе примера столкнулась с непониманием, как работает метод. В данном коде...

5
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
20.04.2018, 18:16 2
aliksht, никакого монстра.
Это значит, что у класса Dense есть метод __call__ (см.). В более общем случае функция может возвращать другую функцию, которая и выполнится с другим аргументом.
1
0 / 0 / 1
Регистрация: 16.05.2013
Сообщений: 24
20.04.2018, 18:24  [ТС] 3
Другими словами, объекты в Пайтоне могут быть collable, то есть использоваться как функция, вызывая при этом свою функцию __call__, в том случае, если таковая определена?
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
20.04.2018, 18:57 4
aliksht, именно.
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
20.04.2018, 23:00 5
Цитата Сообщение от aliksht Посмотреть сообщение
этот синтаксический монстр
Это вы еще такое не видели :
Python
1
2
3
4
5
6
7
result = Parallel(
        n_jobs=-1,        
        backend=backend, 
        verbose=verbose 
        )(  
            delayed(fetch)(base_url.format(i)) for i in range(1,n_tasks)
        )
0
Просто Лис
Эксперт Python
5716 / 3517 / 1053
Регистрация: 17.05.2012
Сообщений: 10,342
Записей в блоге: 9
21.04.2018, 07:15 6
Приведу пример функции, возвращающую функцию, а то мне кажется, что ТС не заметил:
Python
1
2
3
4
5
6
7
8
def dense(a):
    def wrap():
        print('hi')
        return a
    return wrap
 
a = dense(42)()
print(a)
Добавлено через 2 минуты
В с++ тоже так можно делать.
0
21.04.2018, 07:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2018, 07:15
Помогаю со студенческими работами здесь

Проблема с синтаксисом
n=0 start = 7 while start != 1: if start % 2 == 0: start=start / 2 n=n+1 print(start)...

Помогите с синтаксисом
Есть некий класс SomeClass. В процессе выполнения программы появляется неизвестное количество его...

Запутался с синтаксисом
Добрый день! Ребята помоги с синтаксисом, хочу получить значение с SQL запроса с UNION Уже разные...

Ошибка с синтаксисом
int a, b, c; cin >>a >> b >> c; if ((a == b) && (a == c)) { cout << 3; } else if (a == b...

Проблема с синтаксисом
Добрый день #include <iostream> #include <string> using namespace std; int main() {...

Траблы с синтаксисом С++
Люди добрые! Сами мы не местные... Нужно на языке С++ сделать так, чтобы некая функция (например...

Не разобраться с синтаксисом
Добрый день. Изучаю Java по Брюсу Эккелю. В одном примере столкнулся с непонятным мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru