# -*- coding: utf-8 -*-
# @Author : FELIX
# @Date : 2018/6/30 9:20
from pypinyin import pinyin, lazy_pinyin, Style, load_phrases_dict, load_single_dict
from pypinyin.style import register
print(pinyin('你好')) # [['nǐ'], ['hǎo']]
print(pinyin('中心', heteronym=True)) # 启用多音字模式 # [['zhōng', 'zhòng'], ['xīn']]
print(pinyin('中心', style=Style.FIRST_LETTER)) # 设置拼音风格,第一个字母 [['z'], ['x']]
print(pinyin('中心', style=Style.TONE2, heteronym=True)) # [['zho1ng', 'zho4ng'], ['xi1n']]
print(lazy_pinyin('中心')) # 不考虑多音字的情况 # ['zhong', 'xin']
##########处理不包含拼音的字符
# default (默认行为): 不做任何处理,原样返回:
print(lazy_pinyin('你好☆☆')) # ['ni', 'hao', '☆☆']
# ignore : 忽略该字符
print(lazy_pinyin('你好☆☆', errors='ignore')) # ['ni', 'hao']
# replace : 替换为去掉 \u 的 unicode 编码
print(lazy_pinyin('你好☆☆', errors='replace')) # ['ni', 'hao', '26062606']
# callable 对象 : 提供一个回调函数,接受无拼音字符(串)作为参数, 支持的返回值类型: unicode 或 list ([unicode, …]) 或 None 。
print(lazy_pinyin('你好☆☆', errors=lambda x: 'star')) # ['ni', 'hao', 'star']
########### 自定义拼音库
print(lazy_pinyin('还没', style=Style.TONE2))
load_phrases_dict({'桔子': [['jú'], ['zǐ']]}) # 增加 "桔子" 词组,可以自己定义
print(lazy_pinyin('桔子', style=Style.TONE2))
load_single_dict({ord('还'): 'hái,huán'}) # 调整 "还" 字的拼音顺序
print(lazy_pinyin('还没', style=Style.TONE2))
###########自定义拼音风格
@register('kiss')
def kiss(mypinyin, **kwargs):
return '😘 {0}'.format(mypinyin)
print(lazy_pinyin('么么哒', style='kiss'))