pypinyin库具备哪些特点,用法是什么
Admin 2022-07-29 群英技术资讯 366 次浏览
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判定文件目录是否存在及创建多层目录,文章通过os模块、try语句、pathlib模块善终模块展开详细的内容,感兴趣的朋友可以参考一下
这篇文章主要给到大家分享的是关于Python中对mysql数据做模糊查询的思路以及操作,主要介绍用sql语句做多条件模糊查询,小编认为比较实用,因此分享给大家作参考,下面我们就一起来了解一下python的mysql模糊查询。
这篇文章主要为大家介绍了python多线程死锁现象与解决方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
什么是树表查询,基于Python怎样实现二叉排序树?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要介绍了Python数据处理csv的简单应用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008