使用 #530 ,我们使大部分组件暴露其属性并允许修改。我们希望对 PySequence
对象(包括 Normalizer
和 PreTokenizer
序列)也做同样的处理。
为了使这些 PySequence
对象表现得像一个列表,我们需要实现 PySequenceProtocol
的 __len__
、 __getitem__
和 __setitem__
双下划线方法。不幸的是,这些方法目前不支持使用 PyRef
(参见 PyO3/pyo3#1206 ),而我们需要它来访问基类的内容。
这是允许以下行为所必需的:
if isinstance(tokenizer.normalizer, Sequence):
# Access a normalizer in the sequence
print(tokenizer.normalizer[0])
# Modify a normalizer in the sequence
tokenizer.normalizer[1] = Lowercase()
2条答案
按热度按时间5lwkijsr1#
这个问题已经过期,因为它已经打开了30天,没有活动。请移除过期标签或评论,否则将在5天内关闭。
snvhrwxg2#
这个问题已经过期,因为它已经打开了30天,没有活动。请移除过期标签或评论,否则将在5天内关闭。