pypinyin库具备哪些特点,用法是什么
Admin 2022-07-29 群英技术资讯 1608 次浏览
这篇文章给大家分享的是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中的Pygame模块实现的炸弹人小游戏,文中的示例代码讲解详细,对学习Python有一定的帮助,感兴趣的小伙伴可以学习一下
itertools是python内置的模块,使用简单且功能强大。这篇文章就主要介绍了通过itertools实现可迭代对象的无限迭代、有限迭代和排列组合。感兴趣的同学可以关注一下
python开发中经常遇到报错的情况,但是warning通常并不影响程序的运行,而且有时特别讨厌,下面我们来说下如何忽略warning错误。在说忽略wa
通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。为搜索引擎提供搜索支持。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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