该分解就分解,链式调用过长容易报错
错误的
{{self|attr('__class__')|attr('__base__')|attr('__subclasses__')()[142]}}
正确的
{{(self|attr('__class__')|attr('__base__')|attr('__subclasses__')())[142]}}
()包裹后是正确的,最好是分开写
{%set list=self|attr('__class__')|attr('__base__')|attr('__subclasses__')()%}{{list[142]}}
如果不使用attr使用.则无这种顾虑,初步推测原因是 | 的优先级小于 [] 和 ()