
Sergey
02.03.2017
11:17:43
Ну сахар же, да

Sergey
02.03.2017
11:17:43
какие вопросы по декораторам стоит задавать? я знаю, что это просто функция и эквивалентно foo = d(foo), что еще нужно знать?

Eugene
02.03.2017
11:17:46
Это удобно если надо обворачивать не на этапе импорта :)

Google

Sergey
02.03.2017
11:18:10

Sergey
02.03.2017
11:18:11
да то же самое по сути

Stepan
02.03.2017
11:18:18
любопытно, что в JS я по декораторам не скучаю - когда есть нормальные лямбды то и декораторы как-то не очень нужны

Eugene
02.03.2017
11:18:26
Не то же самое

Sergey
02.03.2017
11:18:31
в чем разница? видимо, я чего-то не знаю

Stepan
02.03.2017
11:19:09
но в питоне я люблю городить пачки декораторов :3

Eugene
02.03.2017
11:19:19
В том что надо в __call__ писать и класс декоратора можно инициализировать

Sergey
02.03.2017
11:19:33
ну, это мало что меняет для меня
никакой магии тут нет

Stepan
02.03.2017
11:20:10

Eugene
02.03.2017
11:20:21
Магии нет, но иногда это нужно

Serge
02.03.2017
11:20:24

Aleksey
02.03.2017
11:20:34

Google

Eugene
02.03.2017
11:20:53
Ну а как ещё :))

Sergey
02.03.2017
11:21:10
главное понимать, что происходит за синтаксисом, суметь это преобразовать в обычный вызов callable
а дальше то какие проблемы

Serge
02.03.2017
11:21:39

Sergey
02.03.2017
11:21:41

Stepan
02.03.2017
11:22:12

Aleksey
02.03.2017
11:22:30

Stepan
02.03.2017
11:22:48

Sergey
02.03.2017
11:23:15

Serge
02.03.2017
11:23:46

Aleksey
02.03.2017
11:24:42

Serge
02.03.2017
11:25:34

Stepan
02.03.2017
11:25:51
угу

Serge
02.03.2017
11:26:48

Valery
02.03.2017
11:52:31

Serge
02.03.2017
12:34:48
чо то накатило;)
https://pypi.python.org/pypi/decoratorium

Stepan
02.03.2017
12:39:19

Dmitry
02.03.2017
12:39:27
хых)

Serge
02.03.2017
12:40:45

Александр
02.03.2017
12:54:28

Google

Serge
02.03.2017
12:55:22

Александр
02.03.2017
12:58:28

Dmitry
02.03.2017
13:23:08
офигеть, на новых джангах сентри ловит эксепшны из `manage.py shell` в том числе.

Danil
02.03.2017
13:25:55
видимо новые джанги стали настройки логгера прокидывать в shell?

Andrey
02.03.2017
13:36:36
или это предполагается всем пользователям самим в wrapper вписывать?

Serge
02.03.2017
13:41:55

Александр
02.03.2017
13:42:19

Eugene
02.03.2017
13:42:49
Вот кстати вопрос для собеседования: как декоратор научить мимикрировать под обворачиваемую сущность :)

Serge
02.03.2017
13:42:53

Александр
02.03.2017
13:44:10

Eugene
02.03.2017
13:44:49
:))) я делал по-простому пока генератор документации не сломался.

Serge
02.03.2017
13:46:26

Александр
02.03.2017
13:47:15

GNU/Docker
02.03.2017
13:49:10
https://hynek.me/articles/decorators/

Dmitry
02.03.2017
13:49:28

GNU/Docker
02.03.2017
13:49:47
не всё с ними просто

Anton
02.03.2017
13:53:17
Кстати, а в тему сентри, кто-то может толково навести на правильный путь, как дропнуть ghost миграции
В virtualenv не вижу manage.py чтобы им откатить

Google

Sergey
02.03.2017
13:55:43
http://pythonhosted.org/decorator/documentation.html
а, у Хайнека есть ссылка на него как раз

Eugene
02.03.2017
14:17:10
Кстати, вот ещё прикол. Пробовали наследоваться, например, от frozenset? Если
__new__
не переопределить, будет ошибка.
И super там вроде не работает
Помню писал что-то такое:
def __new__(cls, value, name=None):
if not isinstance(value, (tuple, list)):
value = [value]
return frozenset.__new__(cls, value)

Serge
02.03.2017
14:20:21

Vadim
02.03.2017
14:21:01
как я ща эпично зафэйлил собеседование
переволновался(

Admin
ERROR: S client not available

Eugene
02.03.2017
14:21:20
Расскажи :)

Vadim
02.03.2017
14:21:40
да на джуна
не смог рассказать, что такое параметры функции
хотя тестовое задание на джанге им сделал
вот я лузер

Serge
02.03.2017
14:23:12

Sergey
02.03.2017
14:24:00

GNU/Docker
02.03.2017
14:24:04
по регистрам кладёшь их вобщем, что не влезло - на стек в обратном порядке, а потом интеррапт зовёшь
кек

Vadim
02.03.2017
14:24:14

Sergey
02.03.2017
14:24:35
о_О

Google

Gregory
02.03.2017
14:24:39
да на джуна
Тож на джуна сегодня ходел на интервью. Не зафейлил.

Vadim
02.03.2017
14:26:04

Gregory
02.03.2017
14:26:19
Не стоит :о

Serge
02.03.2017
14:26:40

Vadim
02.03.2017
14:27:15

GNU/Docker
02.03.2017
14:27:25
А.

Sergey
02.03.2017
14:27:29

Eugene
02.03.2017
14:27:30
Аргументы

Gregory
02.03.2017
14:27:52

GNU/Docker
02.03.2017
14:27:57
Про арги и кварги видимо хотели услышать.

Vadim
02.03.2017
14:28:15

Александр
02.03.2017
14:35:06
так им надо было не с аргументов начинать, а еще раньше. это они довольно глубоко сразу копнули

Eugene
02.03.2017
14:35:49
Про обязательные аргументы знаешь?
def f(a, b, *, c):
И почему эту функцию можно вызвать только с обязательным указанием имени для "с"? :)

Александр
02.03.2017
14:41:53
Про обязательные аргументы знаешь?
def f(a, b, *, c):
Интересно, а какой ответ был бы достаточным?
Ну вот есть self для функций классов на первом месте для текущего инстанса, *value - список значений, **kyeword - список наименованных значений
есть обязательные (без значения по-умолчанию), не обязательные аргументы (списки и со значениями по-умолчанию).
что еще надо добавить?