(self, parsing, words, start, end)
SentTree有三个属性：
        template是当前主模版，
        content是当前主模版覆盖的字符串
        modules是语义块列表，每个元素也是一个SentTree
SentTree有三个属性：
        template是当前主模版，
        content是当前主模版覆盖的字符串
        modules是语义块列表，每个元素也是一个SentTree
SentTree有三个属性： template是当前主模版， content是当前主模版覆盖的字符串 modules是语义块列表，每个元素也是一个SentTree
def __init__(self, parsing, words, start, end):
        """SentTree有三个属性：
        template是当前主模版，
        content是当前主模版覆盖的字符串
        modules是语义块列表，每个元素也是一个SentTree
        """
        _ = [words[i] if i in parsing[0] else None for i in range(start, end)]
        self.template = Template(_)
        self.content = ''.join(words[start:end])
        self.modules = []
        marks = (start - 1, ) + parsing[0] + (end, )  # 所有间隙
        k = 0
        for i in range(len(marks) - 1):
            if marks[i] + 1 < marks[i + 1]:
                # 递归创建
                st = SentTree(parsing[1][k], words, marks[i] + 1, marks[i + 1])
                self.modules.append(st)
                k += 1
def __init__ ( self , parsing , words , start , end ) : _ = [ words [ i ] if i in parsing [ 0 ] else None for i in range ( start , end ) ] self . template = Template ( _ ) self . content = '' . join ( words [ start : end ] ) self . modules = [ ] marks = ( start - 1 , ) + parsing [ 0 ] + ( end , ) # 所有间隙 k = 0 for i in range ( len ( marks ) - 1 ) : if marks [ i ] + 1 < marks [ i + 1 ] : # 递归创建 st = SentTree ( parsing [ 1 ] [ k ] , words , marks [ i ] + 1 , marks [ i + 1 ] ) self . modules . append ( st ) k += 1