赞
踩
拼音模块有 pinyin 和 pypinyin
功能和用途:
1 pinyin 是一个较简单和轻量级的拼音转换库,它提供了将汉字转换为拼音的基本功能。
它不支持自定义拼音词典和其他高级功能。
_
2 pypinyin 是一个功能更为强大和全面的拼音转换库,除了基本的拼音转换外,它还支持自定义拼音词典、多音字处理、音调标注、分词等高级功能。
依赖关系: pypinyin 实际上是基于 pinyin 库进行开发的,它使用 pinyin 库的一些核心功能来进行拼音转换。
因此,使用 pypinyin 时,通常需要先安装 pinyin 库,以满足 pypinyin 的依赖关系。
pip install pinyin
pip install pypinyin
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"。
'''
pinyin函数的参数 = '''
text: 必需参数,表示要转换成拼音的中文文本,可以是字符串或列表。
style: 可选参数,用于指定拼音的风格。可以使用 Style 类中定义的风格参数,
例如 Style.NORMAL、Style.TONE、Style.TONE2 等。默认风格是 Style.NORMAL,即带声调的拼音。
heteronym: 可选参数,用于指定多音字是否使用多音字的所有拼音还是只使用一个拼音。
默认为 False,表示只使用一个拼音。
errors: 可选参数,用于指定在转换时遇到错误的处理方式。
可以是字符串 "default"(默认)或 "ignore"。"default" 表示在转换时遇到错误将引发异常,"ignore" 表示忽略错误并继续转换。
strict: 可选参数,用于指定是否对未知字符执行严格处理。
默认为 False,表示不进行严格处理。
'''
from pypinyin import pinyin, Style
def get_pinyin1234(text):
'''按声母韵母返回拼音'''
pinyin_text = ''
for t in pinyin(text, style=Style.TONE, heteronym=False):
x = f''' {t[0]}'''
pinyin_text += x
print(pinyin_text)
get_pinyin1234('刘德华')
输出>>>
liú dé huá
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"。
'''
from pypinyin import Style, lazy_pinyin
def get_pinyin1234(text):
'''按声母韵母返回拼音'''
pinyin_text = ''
for t in lazy_pinyin(text, style=Style.TONE):
x = f''' {t}'''
pinyin_text += x
print(pinyin_text)
get_pinyin1234('刘德华')
输出>>>
liú dé huá
slug参数 = '''
text (必须参数):要转换为 slug 的字符串。
separator (可选参数):用于分隔词组的字符。常用的选项包括 -、_、. 等。默认例如:"this-is-a-slug"。
lowercase (可选参数):指定是否将 slug 的字母部分转换为小写。默认是 True,表示转换为小写。
allowed_chars (可选参数):指定允许的字符集合。可以使用正则表达式或简单的字符串指定允许的字符。
例如:"a-z0-9-" 表示允许小写字母、数字和连字符。这个参数可以用于过滤或替换不想包含在 slug 中的特殊字符。
'''
from pypinyin import Style, slug
def get_pinyin(text):
'''按声母韵母返回拼音'''
pinyin_text = ''
for t in slug(text, separator='---'):
x = f''' {t}'''
pinyin_text += x
print(pinyin_text)
get_pinyin('刘德华')
输出>>>
l i u - - - d e - - - h u a
load_phrases_dict参数 = '''
text (必须参数):要转换为 slug 的字符串。
separator (可选参数):用于分隔词组的字符。常用的选项包括 -、_、. 等。默认例如:"this-is-a-slug"。
lowercase (可选参数):指定是否将 slug 的字母部分转换为小写。默认是 True,表示转换为小写。
allowed_chars (可选参数):指定允许的字符集合。可以使用正则表达式或简单的字符串指定允许的字符。
例如:"a-z0-9-" 表示允许小写字母、数字和连字符。这个参数可以用于过滤或替换不想包含在 slug 中的特殊字符。
'''
from pypinyin import slug, load_phrases_dict
def get_pinyin(text):
'''按声母韵母返回拼音'''
# 自定义拼音词典
custom_dict = {
'刘': [['abc']], # '刘' 可以有两种拼音
}
# 加载自定义拼音词典
load_phrases_dict(custom_dict)
pinyin_text = ''
for t in slug(text, separator='---'):
x = f''' {t}'''
pinyin_text += x
print(pinyin_text)
get_pinyin('刘德华')
输出>>>
a b c - - - d e - - - h u a
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
效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。