声母多少个_ 声母韵母表
如果我们想要自定义处理,比如把☆转化为※,则可以这么设置:
print(lazy_pinyin('你好☆☆,我是xxx', errors=lambda item: ''.join(['※' if c == '☆' else c for c in item])))
运行结果:
['ni', 'hao', '※※,', 'wo', 'shi', 'xxx']
如上便是一些相关异常处理的操作,我们可以随心所欲地处理自己想处理的字符了。
严格模式
最后再看下 strict 模式,这个参数用于控制处理声母和韵母时是否严格遵循《汉语拼音方案》标准。
下面的一些说明来源于官方文档:
当 strict 参数为 True 时根据《汉语拼音方案》的如下规则处理声母、在韵母相关风格下还原正确的韵母:
当 strict 为 False 时就是不遵守上面的规则来处理声母和韵母, 比如:y,w会被当做声母,yu(迂) 的韵母就是一般认为的u等。
具体差异可以查看源码中tests/test_standard.py中的对比结果测试用例。
自定义拼音
如果对库返回的结果不满意,我们还可以自定义自己的拼音库,这里用到的方法就有 load_single_dict 和 load_phrases_dict 方法了。
比如刚才我们看到 “朝阳” 两个字的发音默认返回的是 zhao yang,我们想默认返回 chao yang,那可以这么做:
from pypinyin import lazy_pinyin, load_phrases_dict
print(lazy_pinyin('朝阳'))
personalized_dict = {
'朝阳': [['cháo'], ['yáng']]
}
load_phrases_dict(personalized_dict)
print(lazy_pinyin('朝阳'))
这里我们自定义了一个词典,然后使用 load_phrases_dict 方法设置了一下就可以了。
运行结果:
['zhao', 'yang'] ['chao', 'yang']
这样就可以完成自定义的设置了。
在一些项目里面我们可以自定义很多拼音库,然后加载就可以了。
另外我们还可以注册样式实现自定义,比如将某个拼音前面加上 Emoji 表情,样例:
from pypinyin.style import register
from pypinyin import lazy_pinyin
@register('kiss')
def kiss(pinyin, **kwargs):
if pinyin == 'me':
return f':kissing_heart:{pinyin}'
return pinyin
print(lazy_pinyin('么么哒', style='kiss'))
运行结果:
[':kissing_heart:me', ':kissing_heart:me', 'dá']
这里我们调用 register 方法注册了一个样式 style,然后转换的时候指定即可,通过观察运行结果我们可以发现,这样我们就可以将 me 字的拼音前面加上 :kissing_heart: 这个 Emoji 表情了。
本文由发布,不代表新营销立场,转载联系作者并注明出处:http://www.newmarketingcn.com/xinzhishi/47543.html
