strict 模式
这个参数用于控制处理声母和韵母时是否严格遵循《汉语拼音方案》标准。 下面的一些说明来源于官方文档: 当 strict 参数为 True 时根据《汉语拼音方案》的如下规则处理声母、在韵母相关风格下还原正确的韵母:
- 21 个声母:
b p m f d t n l g k h j q x zh ch sh r z c s
(y, w 不是声母) - i 行的韵母,前面没有声母的时候,写成 yi (衣),ya (呀),ye (耶),yao (腰),you (忧),yan (烟), yin (因),yang (央),ying (英),yong (雍)。(y 不是声母)
- u 行的韵母,前面没有声母的时候,写成 wu (乌),wa (蛙),wo (窝),wai (歪),wei (威),wan (弯), wen (温),wang (汪),weng (翁)。(w 不是声母)
- ü 行的韵母,前面没有声母的时候,写成 yu (迂),yue (约),yuan (冤),yun (晕);ü 上两点省略。 (韵母相关风格下还原正确的韵母 ü)
- ü 行的韵跟声母 j,q,x 拼的时候,写成 ju (居),qu (区),xu (虚),ü 上两点也省略; 但是跟声母 n,l 拼的时候,仍然写成 nü(女),lü(吕)。(韵母相关风格下还原正确的韵母 ü)
- iou,uei,uen 前面加声母的时候,写成 iu,ui,un。例如 niu (牛),gui (归),lun (论)。 (韵母相关风格下还原正确的韵母 iou,uei,uen)
当 strict 为 False 时就是不遵守上面的规则来处理声母和韵母, 比如:y
, w
会被当做声母,yu (迂) 的韵母就是一般认为的 u
等。 具体差异可以查看源码中 tests/test_standard.py 中的对比结果测试用例。