python的拼音模块及自定义函数
作者:YXN-python 阅读量:87 发布日期:2023-02-28
1、python的拼音模块及自定义函数
功能和用途:
1、pinyin 是一个较简单和轻量级的拼音转换库,它提供了将汉字转换为拼音的基本功能。
它不支持自定义拼音词典和其他高级功能。
2、pypinyin 是一个功能更为强大和全面的拼音转换库,除了基本的拼音转换外,它还支持自定义拼音词典、多音字处理、音调标注、分词等高级功能。
依赖关系: pypinyin 实际上是基于 pinyin 库进行开发的,它使用 pinyin 库的一些核心功能来进行拼音转换。
因此,使用 pypinyin 时,通常需要先安装 pinyin 库,以满足 pypinyin 的
pip install pinyin
pip install pypinyin
话不多说,直接上代码:
from pypinyin import pinyin, Style
# 转换为拼音
def convert_to_pinyin(words):
"""
将字典内指定的所有值转为拼音
"""
pinyin_list = pinyin(words, style=Style.NORMAL)
return ''.join([p[0] for p in pinyin_list])
convert_to_pinyin('你是猪')
import pypinyin
pypinyin的函数有哪些 = '''
pinyin(text, ...):主要函数,用于将中文文本转换为拼音。可以使用不同的风格参数来控制拼音的输出格式。
lazy_pinyin(text, ...):与 pinyin 函数类似,将中文文本转换为拼音。
slug(text, separator="-"):将中文文本转换为拼音,并使用指定的分隔符分隔拼音。
适用于创建 URL 或文件名等需要拼音格式的场景。
load_phrases_dict(phrases_dict):加载自定义的拼音词典,用于处理特定的词语或短语的拼音。
Style:拼音风格类,其中定义了多个常量用于指定拼音的风格。可以使用这些常量来控制拼音输出的格式。
'''
style参数 = '''
Style.NORMAL (默认风格):使用带声调的拼音形式,例如:"zhōng"。
Style.TONE 仅返回带声调符号的拼音,例如:"zhong1"。
Style.TONE2 返回带声调数字的拼音,声调用数字 0-4 表示,例如:"zho1ng"。
Style.TONE3 返回带声调数字的拼音,声调用数字 1-4 表示,例如:"zho1ng"。
Style.INITIALS 仅返回声母部分的拼音,例如:"zh"。
Style.FINALS 仅返回韵母部分的拼音,例如:"ong"。
Style.FINALS_TONE 返回带声调的韵母拼音,例如:"ōng"。
Style.INITIALS_TONE 返回带声调的声母拼音,例如:"zhōng"。
Style.FIRST_LETTER 返回每个拼音的首字母,例如:"z"。
'''
1、pinyin函数的参数(列表格式输出):
text: 必需参数,表示要转换成拼音的中文文本,可以是字符串或列表。
style: 可选参数,用于指定拼音的风格。可以使用 Style 类中定义的风格参数,
例如 Style.NORMAL、Style.TONE、Style.TONE2 等。默认风格是 Style.NORMAL,即带声调的拼音。
heteronym: 可选参数,用于指定多音字是否使用多音字的所有拼音还是只使用一个拼音。
默认为 False,表示只使用一个拼音。
errors: 可选参数,用于指定在转换时遇到错误的处理方式。
可以是字符串 "default"(默认)或 "ignore"。"default" 表示在转换时遇到错误将引发异常,"ignore" 表示忽略错误并继续转换。
strict: 可选参数,用于指定是否对未知字符执行严格处理。
默认为 False,表示不进行严格处理。
2、lazy_pinyin 函数(文本格式输出)
lazy_pinyin的参数 = '''
text (必须参数):要转换为拼音的中文文本,可以是字符串或列表。
style (可选参数):用于指定拼音的风格。
errors (可选参数):用于指定在转换时遇到错误的处理方式。
默认是 "default",表示在转换时遇到错误将引发异常。也可以设置为 "ignore",表示忽略错误并继续转换。
heteronym (可选参数):用于多音字显示所有拼音还是只一个拼音。默认为 False,表示只使用一个拼音。
strict (可选参数):用于指定是否对未知字符执行严格处理。默认为 False,表示不进行严格处理。
'''
Style参数 = '''
Style.NORMAL: 默认风格,输出带有声调的拼音。例如:"zhōng"。
Style.TONE: 输出带有声调符号的拼音。例如:"zhōng"。
Style.TONE2: 输出带有声调数字的拼音。例如:"zho1ng"。
Style.INITIALS: 仅输出声母部分的拼音。例如:"zh"。
Style.FINALS: 仅输出韵母部分的拼音。例如:"ong"。
Style.INITIALS_TONE: 输出带有声调的声母部分的拼音。例如:"zhō"。
Style.FINALS_TONE: 输出带有声调的韵母部分的拼音。例如:"ōng"。
Style.INITIALS_TONE2: 输出带有声调数字的声母部分的拼音。例如:"zho1"。
Style.FINALS_TONE2: 输出带有声调数字的韵母部分的拼音。例如:"o1ng"。
Style.BOPOMOFO: 输出注音符号的拼音。例如:"ㄓㄨㄥ"。
Style.BOPOMOFO_FIRST: 输出以注音符号首字母表示的拼音。例如:"zh"。
'''
3、自定义函数
def get_pinyin1234list(text):
from pypinyin import pinyin, Style
x = []
for t in pinyin(text, style=Style.TONE, heteronym=False):
x.append(t[0])
print(x)
return x
get_pinyin1234list('常立节')
def get_pinyin1234(text):
from pypinyin import Style, lazy_pinyin
pinyin_text = ''
for t in lazy_pinyin(text, style=Style.TONE):
x = f''' {t}'''
pinyin_text += x
print(pinyin_text)
return pinyin_text
def get_pinyin_en(text):
from pypinyin import Style, lazy_pinyin
pinyin_text = ''
for t in lazy_pinyin(text, style=Style.NORMAL):
x = f''' {t}'''
pinyin_text += x
print(pinyin_text)
return pinyin_text
def get_pinyin_sep(text,sep):
from pypinyin import slug
pinyin_text = ''
for t in slug(text, separator=sep):
x = f'''{t}'''
pinyin_text += x
print(pinyin_text)
return pinyin_text
效果展示:
YXN-python
2023-02-28