Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

https://i.imgur.com/FBPqS8B.png

Сегодня я принёс вам упражнение для разминки. Попробуем сымитировать что-то подобное реактовским компонентам на питоне. Без использования транспилера. Да, синтаксис будет не html/xml-ный, зато без транспилера — чистый питон. И чтобы всё динамически — ни о каких тегах и атрибутах рендерер не знает, можно использовать любые (то, что class_ отрендерился в class — просто strip´аем андерскоры, если есть, костыль, чтобы использовать зарезервированные слова).

Контекст реализовывать не нужно (я про подстановку переменных из инстанса компонента в шаблон при рендере, в моём примере компонент вообще инстанцировать не надо), там ничего интересного.

Усложнённый вариант — сделать из el1(attr1='value1')['text1', el2(attr2='value2'), 'text2'] такое: el1[attr1:'value1', 'text1', el2[attr2:'value2'], 'text2']. Обращаю внимание, имена атрибутов записаны БЕЗ кавычек.

Очень хотелось бы увидеть решение от маньки, например. Он ведь такой наскилованный чувак, не так ли?

Сорь за код картинкой, лень аплодить + так наглядней ввод и вывод.

#U5GE66 (39+1) / @4077 / 1433 дня назад

Переписал изотерификатор в однострочник:

cat file.py | python3 -c "print('exec(' + '+'.join('chr(+(not(not())))' if not c else ('chr(+(not()))' if c == 1 else 'chr(' + '+'.join('(not())' for _ in range(c)) + ')') for c in __import__('sys').stdin.read().encode('raw_unicode_escape')) + ')')" | tee output.py
#X0KSKV (4) / @4077 / 1731 день назад

Сегодня я вам принёс изотерификатор питона: https://ideone.com/XHle4T

#NFOMDK (4+1) / @4077 / 1733 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.