pypinyin库具备哪些特点,用法是什么
Admin 2022-07-29 群英技术资讯 1035 次浏览
这篇文章给大家分享的是pypinyin库具备哪些特点,用法是什么。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。pypinyin库,主要有几下几个特性:
该库属于第三方Python库,因此在使用之前,需要提前安装。
pip install pypinyin
然后,导入该库即可。
import pypinyin from pypinyin import pinyin
先来看一个最基本的例子。
from pypinyin import pinyin
pinyin("吃饭")
结果如下:

有些字,可能是多音字,再看下面这个例子。
from pypinyin import pinyin
pinyin('冯',heteronym=True)
pinyin('朝',heteronym=True)
pinyin('同',heteronym=True)
结果如下:

仔细观察上述打印结果,生成的都是二维列表嵌套,这样解析起来,真费劲!
能不能生成一维列表呢?
from pypinyin import lazy_pinyin
lazy_pinyin("数据分析与统计学之美")
结果如下:

问题又来了!
这里虽然是一维列表,但是没有声调了,这不尴尬了吗?
这里面就涉及到一个风格转换的问题了。
from pypinyin import lazy_pinyin,Style
lazy_pinyin("数据分析与统计学之美",style=Style.TONE)
结果如下:

原来这里有一个Style类,供我们选择风格,常用的风格有下面这14种。
#: 普通风格,不带声调。如: 中国 -> ``zhong guo`` NORMAL = 0 #: 标准声调风格,拼音声调在韵母第一个字母上(默认风格)。如: 中国 -> ``zhōng guó`` TONE = 1 #: 声调风格2,即拼音声调在各个韵母之后,用数字 [1-4] 进行表示。如: 中国 -> ``zho1ng guo2`` TONE2 = 2 #: 声调风格3,即拼音声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> ``zhong1 guo2`` TONE3 = 8 #: 声母风格,只返回各个拼音的声母部分(注:有的拼音没有声母,详见 `#27`_)。如: 中国 -> ``zh g`` INITIALS = 3 #: 首字母风格,只返回拼音的首字母部分。如: 中国 -> ``z g`` FIRST_LETTER = 4 #: 韵母风格,只返回各个拼音的韵母部分,不带声调。如: 中国 -> ``ong uo`` FINALS = 5 #: 标准韵母风格,带声调,声调在韵母第一个字母上。如:中国 -> ``ōng uó`` FINALS_TONE = 6 #: 韵母风格2,带声调,声调在各个韵母之后,用数字 [1-4] 进行表示。如: 中国 -> ``o1ng uo2`` FINALS_TONE2 = 7 #: 韵母风格3,带声调,声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> ``ong1 uo2`` FINALS_TONE3 = 9 #: 注音风格,带声调,阴平(第一声)不标。如: 中国 -> ``ㄓㄨㄥ ㄍㄨㄛ�@`` BOPOMOFO = 10 #: 注音风格,仅首字母。如: 中国 -> ``ㄓ ㄍ`` BOPOMOFO_FIRST = 11 #: 汉语拼音与俄语字母对照风格,声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> ``чжун1 го2`` CYRILLIC = 12 #: 汉语拼音与俄语字母对照风格,仅首字母。如: 中国 -> ``ч г`` CYRILLIC_FIRST = 13
如果你的文字中,除了汉字,还有其它符号以及英文,会打印出怎么样的效果呢?
from pypinyin import lazy_pinyin
lazy_pinyin('Hello,我是',style=Style.TONE)
结果如下:

汉字打印出来就行,英文、表情符号不用打印出来最好,应该怎么办呢?
这里有一个errors参数呢,来看看例子。
from pypinyin import lazy_pinyin
lazy_pinyin('Hello,我是',style=Style.TONE,errors='ignore')
结果如下:

如果你对pypinyin库的返回结果不满意,可以自定义一个库呀!这里可以使用load_phrases_dict 方法。
我们先来看一个例子:
from pypinyin import lazy_pinyin
lazy_pinyin("黄同学",style=Style.TONE)
结果如下:

“黄同学” 的同,明明是二声,这里成了四声。
from pypinyin import lazy_pinyin, load_phrases_dict
personalized_dict = {'黄同学': [['huáng'], ['tòng'], ['xué']]}
load_phrases_dict(personalized_dict)
lazy_pinyin("黄同学",style=Style.TONE)
结果如下:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章介绍了Python中的Selenium异常处理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Python可视化神器pyecharts之绘制箱形图,箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图,因形状如箱子而得名
这篇文章主要和大家分享一个有意思的模型:RealBasicVSR。本文将利用这个模型制作一个图像超分处理工具,感兴趣的小伙伴可以跟随小编一起学习一下
由于列表是序列的一种,列表支持我们对字符串序列进行操作。唯一的区别就是其结果往往是列表而不是符串。我们都知道列表方便我们理解操作,是我们在日常生活中解决问题的方法之一。
这篇文章主要为大家详细介绍一下Python中excel的写入模块- xlsxwriter,并利用该模块实现Excel数据的写入,感兴趣的小伙伴可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008