pypinyin库具备哪些特点,用法是什么
Admin 2022-07-29 群英技术资讯 1226 次浏览
这篇文章给大家分享的是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中一种重要的内置数据类型。与列表一样,我们经常使用元组将多个对象保存为相应的数据容器。本文为大家总结了元组的三个不常用特性,感兴趣的小伙伴可以了解一下
文本主要给给大家分享的是关于python匿名函数的内容,匿名函数也就是没有名字的函数,在python中还是比较实用的,因此分享给大家作参考,下面我们就一起来学习一下python匿名函数吧。
ajax与django交互怎样实现?一些新手对于ajax与django的交互并不是很理解,下面小编就给大家介绍关于ajax与django交互的相关内容供大家参考学习,感兴趣的朋友们可以看看。
之前我们也了解很多python函数,今天给大家分享的函数是os.path.join()是拼接文件路径函数,那么os.path.join()函数怎样使用呢?接下来跟随小编来学习一下吧。
我们首先有一个成绩表单,但是学生的成绩是按照学号进行排序的,现在,我们希望清晰明了的知道每一个学生的名次,并且需要将学生按照成绩的高低重新进行排序。也就是说,我们将学生从按照学号排序转变为按照成绩从高到低进行排序。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008