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']
. Обращаю внимание, имена атрибутов записаны БЕЗ кавычек.
Очень хотелось бы увидеть решение от маньки, например. Он ведь такой наскилованный чувак, не так ли?
Сорь за код картинкой, лень аплодить + так наглядней ввод и вывод.