NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3213 most downloaded on PyPI
汉字拼音转换模块/工具.
Last release 1 years ago
20 Jul 2025
Ships fairly regularly
a new release about every 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
97 releases · first in 2013
[New] 新增 Style.BRAILLE_MAINLAND 和 Style.BRAILLE_MAINLAND_TONE 支持中国内地盲文风格 (via #348_ Thanks @oxygen-dioxide_ ) 。
[New] 新增 Style.BRAILLE_MAINLAND 和 Style.BRAILLE_MAINLAND_TONE 支持中国内地盲文风格 (via `#348`_ Thanks `@oxygen-dioxide`_ ) 。
[Improved] 使用 `phrase-pinyin-data`_ v0.19.0 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.15.0 的拼音数据。
[Fixed] 优化内置分词,解决词语切分有误导致的拼音有误问题。 Fixed `#347`_ 。
[New] 新增当 errors 参数被设置为 exception 时,将在未找到拼音时抛出异常 PinyinNotFoundException 。
[New] 新增当 errors 参数被设置为 exception 时,将在未找到拼音时抛出异常 PinyinNotFoundException 。
>>> from pypinyin import pinyin >>> pinyin('你好☆☆', errors='exception') Traceback (most recent call last): ... pypinyin.exceptions.PinyinNotFoundException: No pinyin found for character "☆☆"
[New] 新增 Style.GWOYEU 支持国语罗马字 (via `#343`_ Thanks `@0xis-cn`_ ) 。
[Improved] 使用 `phrase-pinyin-data`_ v0.18.0 的词语拼音数据。
One column per quarter.
[New] 内置对 pyinstaller 打包的支持, 避免使用 pyinstaller 打包时需要额外处理类似 no such file or dictionary: pinyin_dict.json 错误的问题。 ( 未增加新的依赖包 ,仅通过在源码中增加 __pyinstaller 目录,
[New] 内置对 pyinstaller 打包的支持, 避免使用 pyinstaller 打包时需要额外处理类似 no such file or dictionary: pinyin_dict.json 错误的问题。 ( 未增加新的依赖包 ,仅通过在源码中增加 __pyinstaller 目录, 支持使用 pyinstaller 打包依赖了 pypinyin 的项目时自动打包 v0.52.0 版本新引入的 json 文件) via `#329`_ Thanks `@xushengj`_ , 详见 `#326`_ 。
[Changed] 改为运行时从内置的 json 文件中读取单字和词语拼音数据(之前是从内置的 dict 类型的变量中读取), 缓解 Python 3.12 环境中存在的性能劣化问题 (via #324_ Thanks @serfend_ ) 详见 #319_ #322_ 。 主要解决 Python
[Changed] 改为运行时从内置的 json 文件中读取单字和词语拼音数据(之前是从内置的 dict 类型的变量中读取), 缓解 Python 3.12 环境中存在的性能劣化问题 (via `#324`_ Thanks `@serfend`_ ) 详见 `#319`_ `#322`_ 。 主要解决 Python 3.12 环境中存在的如下问题(非 pypinyin 自身 bug 导致。其他 Python 版本环境中无类似问题):
在 VSCode 中使用 debugpy 调试时, import pypinyin 操作需要耗时 10 分钟左右。
运行 py.test --cov 命令时,pypinyin 相关代码会卡住很长一段时间。
Nothing published for this version
$ python -m pypinyin.tools.toneconvert to-tone 'zhong4 xin1' zhòng xīn
[New] 新增一个用于转换拼音风格的命令行辅助工具:
$ python -m pypinyin.tools.toneconvert to-tone 'zhong4 xin1' zhòng xīn $ python -m pypinyin.tools.toneconvert to-tone2 'zhòng xīn' zho4ng xi1n $ python -m pypinyin.tools.toneconvert to-tone3 'zhòng xīn' zhong4 xin1 $ python -m pypinyin.tools.toneconvert to-normal 'zhòng xīn' zhong xin
[New] pypinyin 命令行工具支持接受空格间隔的多个汉字词语作为输入(无需引号包裹)(via `#318`_ Thanks `@Freed-Wu`_)
# 老版本 $ pypinyin 我 是 小明 pypinyin: error: unrecognized arguments: 是 小明 # 新版本 $ pypinyin 我 是 小明 wǒ shì xiǎo míng
[Improved] 使用 `phrase-pinyin-data`_ v0.17.0 的词语拼音数据。
[Improved] 使用 phrase-pinyin-data_ v0.16.0 的词语拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.16.0 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.14.0 的拼音数据。
[Improved] 使用 phrase-pinyin-data_ v0.15.0 的词语拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.15.0 的词语拼音数据。
[Bugfixed] 修复 pypinyin.contrib.tone_convert 中 to_ 开头的转换函数 没有正确处理输入的拼音包含 5 的场景(当包含 5 时会导致返回的格式不符合函数预期的返回格式) 以及修复没有正确处理部分拼音中的 ü 或 v 的问题 (当 v_to_u=False
[Bugfixed] 修复 pypinyin.contrib.tone_convert 中 to_ 开头的转换函数 没有正确处理输入的拼音包含 5 的场景(当包含 5 时会导致返回的格式不符合函数预期的返回格式) 以及修复没有正确处理部分拼音中的 ü 或 v 的问题 (当 v_to_u=False 时返回结果需要将 ü 替换为 v) Fixed `#290`_ :
# 修复前
>>> to_tone('lve')
'lve'
>>> to_tone2('lün5')
'lv5n'
>>> to_tone3('lün5')
'lv5n'
>>> to_tone2('lvn5')
'lv5n'
>>> to_tone3('lvn5')
'lv5n'
# 修复后
>>> to_tone('lve')
'lüe'
>>> to_tone2('lün5')
'lvn'
>>> to_tone3('lün5')
'lvn'
>>> to_tone2('lvn5')
'lvn'
>>> to_tone3('lvn5')
'lvn'
>>> to_tone2('lvn5', v_to_u=True)
'lün'
>>> to_tone3('lvn5', v_to_u=True)
'lün'
>>> to_tone2('lvn', neutral_tone_with_five=True)
'lv5n'
>>> to_tone3('lvn', neutral_tone_with_five=True)
'lvn5'
[Bugfixed] 修复 Style.BOPOMOFO 风格下未处理 ê 的问题。Fixed `#291`_
[Improved] 使用 `phrase-pinyin-data`_ v0.14.0 的词语拼音数据。
[Bugfixed] 修复在处理既没有声母也没有韵母的拼音时,指定 neutral_tone_with_five=True 会返回 5 作为拼音的问题(#284_):
[Bugfixed] 修复在处理既没有声母也没有韵母的拼音时,指定 neutral_tone_with_five=True 会返回 5 作为拼音的问题(`#284`_):
# 修复前
>>> lazy_pinyin('嗯', style=Style.FINALS_TONE3, neutral_tone_with_five=True)
['5']
# 修复后
>>> lazy_pinyin('嗯', style=Style.FINALS_TONE3, neutral_tone_with_five=True)
['']
[New] [Changed] 自定义拼音风格的回调函数新增关键字参数 han ,用于接收对应的原始汉字:
[New] [Changed] 自定义拼音风格的回调函数新增关键字参数 han ,用于接收对应的原始汉字:
@register('new_style')
def new_style_func(pinyin, **kwargs):
return kwargs.get('han', '') + pinyin
pinyin('北京', style='new_style') # output: [['北běi'], ['京jīng']]
[Improved] 使用 `phrase-pinyin-data`_ v0.13.0 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.13.0 的拼音数据。
[Bugfixed] 修复 tone_to_tone3 函数对空字符串的处理 via `#279`_
[New] pypinyin.contrib.tone_convert 模块新增 to_finals_tone 、to_finals_tone2 以及 to_finals_tone3 函数,用于将拼音转换为 Style.FINALS_TONE 、 Style.FINALS_TONE2 以及 Styl
[New] pypinyin.contrib.tone_convert 模块新增 to_finals_tone 、to_finals_tone2 以及 to_finals_tone3 函数,用于将拼音转换为 Style.FINALS_TONE 、 Style.FINALS_TONE2 以及 Style.FINALS_TONE3 风格的结果。
[Changed] 将 pypinyin.contrib.tone_convert 模块中 to_tone2 、 to_tone3、 tone_to_tone2 及 tone_to_tone3 函数的 neutral_tone_with_5 参数重命名为统一的 neutral_tone_with_five 参数名称,兼容已有代码传入的 neutral_tone_with_5 参数。建议升级版本后择期修改为 使用新的 neutral_tone_with_five 参数名称。
[Bugfixed] 修复韵母相关拼音风格在 strict=True 时未按预期只返回拼音标准中定义过的韵母。 (Fixes #266_, Closes #80_)
[Bugfixed] 修复韵母相关拼音风格在 strict=True 时未按预期只返回拼音标准中定义过的韵母。 (Fixes `#266`_, Closes `#80`_)
[New] pypinyin.contrib.tone_convert 模块新增 to_initials 和 to_finals 函数, 用于将拼音转换为 Style.INITIALS 和 Style.FINALS 风格的结果。
[New] 增加 Python 3.10 下的测试,正式支持 Python 3.10 。
[New] 增加 Python 3.10 下的测试,正式支持 Python 3.10 。
[New] tone2_to_tone3 、tone3_to_tone2 新增 v_to_u=False 参数
[Bugfixed] 修复 pypinyin.contrib.tone_convert 中无声调相关风格转换没有正确处理 v_to_u 参数的问题 (Fixes `#251`_ )
[Improved] 使用 `phrase-pinyin-data`_ v0.12.0 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.12.0 的拼音数据。
[New] lazy_pinyin 函数增加参数 tone_sandhi 用于控制是否对拼音结果按 变调规则_ 进行处理:
[New] lazy_pinyin 函数增加参数 tone_sandhi 用于控制是否对拼音结果按 `变调规则`_ 进行处理:
>>> lazy_pinyin('你好', style=Style.TONE2)
['ni3', 'ha3o']
>>> lazy_pinyin('你好', style=Style.TONE2, tone_sandhi=True)
['ni2', 'ha3o']
[Improved] 使用 phrase-pinyin-data_ v0.11.0 的词语拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.11.0 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.11.0 的拼音数据。
[New] 新增 Style.WADEGILES :威妥玛拼音/韦氏拼音/威式拼音风格,无声调
[New] 新增 Style.WADEGILES :威妥玛拼音/韦氏拼音/威式拼音风格,无声调
>>> lazy_pinyin('威妥玛拼音', style=Style.WADEGILES)
['wei', "t'o", 'ma', "p'in", 'yin']
[New] 新增 pypinyin.contrib.tone_convert 模块,用于 Style.TONE 、 Style.TONE2 、 Style.TONE3 、 Style.NORMAL 风格的拼音之间互相转换。 详见 文档 __
[New] 新增 pypinyin.contrib.tone_convert 模块,用于 Style.TONE 、 Style.TONE2 、 Style.TONE3 、 Style.NORMAL 风格的拼音之间互相转换。 详见 文档
[Improved] 使用 `pinyin-data`_ v0.10.2 的拼音数据。
[Improved] 精简 phrases_dict, 删除 phrases_dict 中凡是能通过 pinyin_dict 得到相同结果的数据。
[Improved] 精简 phrases_dict, 删除 phrases_dict 中凡是能通过 pinyin_dict 得到相同结果的数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.10.5 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.10.1 的拼音数据。
[Improved] 使用 phrase-pinyin-data_ v0.10.4 的词语拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.10.4 的词语拼音数据。
[Improved] 使用 `pinyin-data`_ v0.10.0 的拼音数据。
[New] pinyin 和 lazy_pinyin 函数增加参数 v_to_u 和 neutral_tone_with_five:
[New] pinyin 和 lazy_pinyin 函数增加参数 v_to_u 和 neutral_tone_with_five:
v_to_u=True 时在无声调相关拼音风格下使用 ü 代替原来的 v
>>> lazy_pinyin('战略')
['zhan', 'lve']
>>> lazy_pinyin('战略', v_to_u=True)
['zhan', 'lüe']
neutral_tone_with_five=True 时在数字标识声调相关风格下使用 5 标识轻声
>>> lazy_pinyin('衣裳', style=Style.TONE3)
['yi1', 'shang']
>>> lazy_pinyin('衣裳', style=Style.TONE3, neutral_tone_with_five=True)
['yi1', 'shang5']
[Improved] 优化内置分词,处理前缀匹配导致无法正确识别尾部词语的问题。 Fixed #205_
[Improved] 优化内置分词,处理前缀匹配导致无法正确识别尾部词语的问题。 Fixed `#205`_
[Improved] 使用 `phrase-pinyin-data`_ v0.10.3 的词语拼音数据。
[Improved] 优化内置分词,严格按照是否是词语来分词。 Fixed #139_
[Improved] 优化内置分词,严格按照是否是词语来分词。 Fixed `#139`_
[Improved] 使用 `pinyin-data`_ v0.9.0 的拼音数据。
[Bugfixed] 修复 NeutralToneWith5Mixin 在 TONE3 相关风格未把 5 标在预期的拼音末尾位置。
[Bugfixed] 修复 NeutralToneWith5Mixin 在 TONE3 相关风格未把 5 标在预期的拼音末尾位置。
[New] 增加 Python 3.8 下的测试,正式支持 Python 3.8 。
[New] 增加 V2UMixin 用于支持无声调相关拼音风格下的结果使用 ü 代替原来的 v 。 详见 文档 __ 。
[Bugfixed] 修复 m̄ ê̄ ế ê̌ ề 这几个音无法转换为不含声调结果的问题。
[Bugfixed] 修复 m̄ ê̄ ế ê̌ ề 这几个音无法转换为不含声调结果的问题。
[Improved] 使用 `phrase-pinyin-data`_ v0.10.1 的词语拼音数据。 Fixed `#174`_
[Improved] 使用 `pinyin-data`_ v0.8.0 的拼音数据。
[Improved] 修复一处参数注释错误。(via `#176`_ Thanks `@yangwe1`_)
[Bugfixed] 修复鼻音 m̀ 无法转换为不含声调结果的问题。
[Bugfixed] 修复鼻音 m̀ 无法转换为不含声调结果的问题。
[Improved] 使用 `phrase-pinyin-data`_ v0.10.0 的词语拼音数据。 Fixed `#166`_ `#167`_ `#169`_ `#170`_
[Improved] Windows CI 增加在 x64 下跑测试 (via `#164`_ Thanks `@hanabi1224`_)
[Improved] 使用 phrase-pinyin-data_ v0.9.2 的词语拼音数据。 Fixed #159_ #160_
[Improved] 使用 `phrase-pinyin-data`_ v0.9.2 的词语拼音数据。 Fixed `#159`_ `#160`_
[Improved] 使用 `pinyin-data`_ v0.7.0 的拼音数据。
[Bugfixed] 修复 朝阳 在 heteronym=False 时输出了多个音的情况。
[Bugfixed] 修复 朝阳 在 heteronym=False 时输出了多个音的情况。
[Improved] 使用 phrase-pinyin-data_ v0.9.0 的词语拼音数据。 Fixed #154_ #149_
[Improved] 使用 `phrase-pinyin-data`_ v0.9.0 的词语拼音数据。 Fixed `#154`_ `#149`_
[New] 支持 朝阳 这种一个词多个音( '朝阳': [['zhāo', 'cháo'], ['yáng']] )在多音字模式下输出多个音。 Fixed `#154`_
[Improved] 使用 phrase-pinyin-data_ v0.8.5 的词语拼音数据。 Fixed #151_
[Improved] 使用 `phrase-pinyin-data`_ v0.8.5 的词语拼音数据。 Fixed `#151`_
[Changed] 当 errors 参数的值是个回调对象并且返回值是个 list 时, 会使用这个 list 来 extend 结果 list (via #147_ . Thanks @howl-anderson_ ) ::
[Changed] 当 errors 参数的值是个回调对象并且返回值是个 list 时, 会使用这个 list 来 extend 结果 list (via `#147`_ . Thanks `@howl-anderson`_ )
# 更新前
>>> pinyin('你好☆☆', errors=lambda x: ['star' for _ in x])
[['nǐ'], ['hǎo'], ['star', 'star']]
# 更新后
>>> pinyin('你好☆☆', errors=lambda x: ['star' for _ in x])
[['nǐ'], ['hǎo'], ['star'], ['star']]
详见文档: https://pypinyin.readthedocs.io/zh_CN/develop/usage.html#handle-no-pinyin
[Bugfixed] 修复 strict=True 时韵母相关风格下没有正确处理韵母 üan 的问题。
[Bugfixed] 修复 strict=True 时韵母相关风格下没有正确处理韵母 üan 的问题。
[Improved] 使用 pinyin-data_ v0.6.2 的拼音数据。
[Improved] 使用 `pinyin-data`_ v0.6.2 的拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.8.4 的词语拼音数据。
[Bugfixed] 修复命令行程序在 sys.stdin.encoding 为 None 时无法正常工作的问题。
[Bugfixed] 修复命令行程序在 sys.stdin.encoding 为 None 时无法正常工作的问题。
[Improved] 使用 `pinyin-data`_ v0.6.1 的拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.8.3 的词语拼音数据。
Fixed `#137`_
[Changed] 不再测试 Python 2.6 和 Python 3.3,增加测试 Python 3.7 和 PyPy3 即不保证程序兼容 Python 2.6 和 Python 3.3。
[Improved] 使用 pinyin-data_ v0.6.0 的拼音数据。
[Improved] 使用 `pinyin-data`_ v0.6.0 的拼音数据。
[Improved] 使用 `phrase-pinyin-data`_ v0.8.2 的词语拼音数据。
[New] 增加 py.typed 标记文件,支持 PEP 561_ (via #130_)
[New] 增加 py.typed 标记文件,支持 `PEP 561`_ (via `#130`_)
[Changed] 使用 `phrase-pinyin-data`_ v0.7.3 的词语拼音数据。
fixed `#112`_ `#117`_ `#122`_ `#131`_
精简词组拼音,删除部分数据有误的拼音数据
[Improved] 更新文档和测试。(via 7fa0b87 _)
[Improved] 更新文档和测试。(via 7fa0b87)
[Improved] 对用户传入的已进行分词处理的数据进行二次分词以便提高准确性。(via `#126`_)
[Improved] 使用 `pinyin-data`_ v0.5.1 的拼音数据。(via `#125`_)
[New] 支持有拼音的非汉字字符 〇 (via #119_)。
[New] 支持有拼音的非汉字字符 〇 (via `#119`_)。
[Changed] 修复之前无意中把 pinyin 函数中的 strict 参数的默认值修改为了 False , 现在把 strict 参数的默认值恢复为预期的 True (via `#121`_)。关于 strict 参数的影响详见文档: `strict 参数的影响`_
[New] 可以通过环境变量 PYPINYIN_NO_DICT_COPY 禁用代码内对 dict 的 copy 操作,节省内存(via #115_ thanks @daya0576_ )。
[New] 可以通过环境变量 PYPINYIN_NO_DICT_COPY 禁用代码内对 dict 的 copy 操作,节省内存(via `#115`_ thanks `@daya0576`_ )。
* [New] 给代码增加类型注解(via #110_)。
[New] 给代码增加类型注解(via `#110`_)。
[New] 命令行工具支持通过更简便的方式指定参数及拼音风格。 (详见 #105_, Thanks @wdscxsj_ )
[New] 命令行工具支持通过更简便的方式指定参数及拼音风格。 (详见 `#105`_, Thanks `@wdscxsj`_ )
[Improved] 增加说明 strict 参数对结果有什么影响的文档。
[Improved] 使用 phrase-pinyin-data_ v0.5.1 的词语拼音数据。fixed #106_
[Improved] 使用 `phrase-pinyin-data`_ v0.5.1 的词语拼音数据。fixed `#106`_
[Changed] 不再自动调用 jieba 分词模块,改为自动调用内置的正向最大匹配分词模块来分词。 (via #102_)
[Changed] 不再自动调用 jieba 分词模块,改为自动调用内置的正向最大匹配分词模块来分词。 (via `#102`_)
[New] 内置一个正向最大匹配分词模块,使用内置的词语拼音库来训练这个分词模块, 解决自定义词语库有时可能不生效的问题(因为这个词语在 jieba 等分词模块中不是可用词)。(via #81_)
[New] 内置一个正向最大匹配分词模块,使用内置的词语拼音库来训练这个分词模块, 解决自定义词语库有时可能不生效的问题(因为这个词语在 jieba 等分词模块中不是可用词)。(via `#81`_)
获取拼音或自定义词库后使用:
>>> from pypinyin import pinyin, load_phrases_dict
>>> load_phrases_dict({'了局': [['liǎo'], ['jú']]})
>>> pinyin('了局啊') # 使用 jieba 分词
Building prefix dict from the default dictionary ...
Dumping model to file cache /var/folders/s6/z9r_07h53pj_d4x7qjszwmbw0000gn/T/jieba.cache
Loading model cost 1.175 seconds.
Prefix dict has been built succesfully.
[['le'], ['jú'], ['a']]
>>> from pypinyin.contrib.mmseg import seg, retrain
>>> retrain(seg) # 没有使用 load_phrases_dict 时可以不调用这个函数
>>> pinyin(seg.cut('了局啊')) # 使用内置的正向最大匹配分词
[['liǎo'], ['jú'], ['a']]
>>>
单独使用:
>>> from pypinyin.contrib.mmseg import seg
>>> text = '你好,我是中国人,我爱我的祖国'
>>> seg.cut(text)
<generator object Seg.cut at 0x10b2df2b0>
>>> list(seg.cut(text))
['你好', ',', '我', '是', '中国人', ',', '我', '爱',
'我的', '祖', '国']
>>> seg.train(['祖国', '我是'])
>>> list(seg.cut(text))
['你好', ',', '我是', '中国人', ',', '我', '爱',
'我的', '祖国']
>>>
[New] 支持类似 pyinstaller 的打包工具对使用 pypinyin 的程序进行打包, 不会出现跟打包前不一样的输出(比如: #92_ )(via #93_ )。
[New] 支持类似 pyinstaller 的打包工具对使用 pypinyin 的程序进行打包, 不会出现跟打包前不一样的输出(比如: `#92`_ )(via `#93`_ )。
[New] 使用 phrase-pinyin-data_ v0.5.0 的词语拼音数据。
[New] 使用 `phrase-pinyin-data`_ v0.5.0 的词语拼音数据。
[New] 支持 IronPython (via #86_). Thanks @LevyLession_
[New] 支持 IronPython (via `#86`_). Thanks `@LevyLession`_
[Bugfixed] 修复在 Python 2 下通过 pip install 安装 wheel 格式的安装包后, 无法正常使用的问题。(Python 2 下没有自动安装依赖包)
[Bugfixed] 修复在 Python 2 下通过 pip install 安装 wheel 格式的安装包后, 无法正常使用的问题。(Python 2 下没有自动安装依赖包)
[New] 重构各拼音风格实现,支持自定义拼音风格或覆盖已有拼音风格的实现.
[New] 重构各拼音风格实现,支持自定义拼音风格或覆盖已有拼音风格的实现.
from pypinyin.style import register
@register('style1')
def func(pinyin, **kwargs):
# pinyin = xxx # convert to style1
return pinyin
def func(pinyin, **kwargs):
# pinyin = xxx # convert to style2
return pinyin
register('style2', func=func)
[New] 增加 strict 参数来控制处理声母和韵母时是否严格遵循 《汉语拼音方案》 _ 标准。
[New] 增加 strict 参数来控制处理声母和韵母时是否严格遵循 《汉语拼音方案》 标准。
当 strict=True 时根据 《汉语拼音方案》 的如下规则处理声母、在韵母相关风格下还原正确的韵母:
21 个声母: b p m f d t n l g k h j q x zh ch sh r z c s (y, w 不是声母)
i行的韵母,前面没有声母的时候,写成yi(衣),ya(呀),ye(耶),yao(腰),you(忧),yan(烟),yin(因),yang(央),ying(英),yong(雍)。(y 不是声母)
u行的韵母,前面没有声母的时候,写成wu(乌),wa(蛙),wo(窝),wai(歪),wei(威),wan(弯),wen(温),wang(汪),weng(翁)。(w 不是声母)
ü行的韵母,前面没有声母的时候,写成yu(迂),yue(约),yuan(冤),yun(晕);ü上两点省略。(韵母相关风格下还原正确的韵母 ü)
ü行的韵跟声母j,q,x拼的时候,写成ju(居),qu(区),xu(虚),ü上两点也省略; 但是跟声母n,l拼的时候,仍然写成nü(女),lü(吕)。(韵母相关风格下还原正确的韵母 ü)
iou,uei,uen前面加声母的时候,写成iu,ui,un。例如niu(牛),gui(归),lun(论)。(韵母相关风格下还原正确的韵母 iou,uei,uen)
具体差异可以查看 tests/test_standard.py 中的对比结果测试用例
[Changed] 改为使用 enum 定义拼音风格(兼容旧版本)
[New] 韵母风格下根据 汉语拼音方案_ 还原原始的 iou , uei , uen 韵母。
[New] 韵母风格下根据 `汉语拼音方案`_ 还原原始的 iou , uei , uen 韵母。
iou,uei,uen前面加声母的时候,写成iu,ui,un。 例如niu(牛),gui(归),lun(论)。即:
niu 的韵母是 iou
gui 的韵母是 uei
lun 的韵母是 uen
[Fixed] 修复韵母相关风格下没有正确处理 wu 的韵母的问题 (比如: 无 在 FINALS_TONE 风格下的结果是 uú 的问题) 。
[Fixed] 修复漏了 ǖ -> v1 的转换。
[Fixed] 使用 phrase-pinyin-data_ v0.4.1 的词语拼音数据, fixed #72_ 。
[Fixed] 使用 `phrase-pinyin-data`_ v0.4.1 的词语拼音数据, fixed `#72`_ 。
* [Improved] PyPI 上传过程中出了点问题。
[Improved] PyPI 上传过程中出了点问题。
[Changed] 使用 phrase-pinyin-data_ v0.4.0 的词语拼音数据。
[Changed] 使用 `phrase-pinyin-data`_ v0.4.0 的词语拼音数据。
[Changed] 词语拼音数据改为使用来自 phrase-pinyin-data_ v0.3.1 的拼音数据。
[Changed] 词语拼音数据改为使用来自 `phrase-pinyin-data`_ v0.3.1 的拼音数据。
[Fixed] 修正 斯事体大 的拼音。
[Improved] 使用 pinyin-data_ v0.4.1 的拼音数据. fixed #58_
[Improved] 使用 `pinyin-data`_ v0.4.1 的拼音数据. fixed `#58`_
[Improved] 更新 厦门 的拼音. fixed `#59`_
[New] Added new pinyin styles - CYRILLIC (汉语拼音与俄语字母对照表) and CYRILLIC _FIRST (via #55_ thanks @tyrbonit_)
[New] Added new pinyin styles - CYRILLIC (汉语拼音与俄语字母对照表) and CYRILLIC _FIRST (via `#55`_ thanks `@tyrbonit`_)
>>> pypinyin.pinyin('中心', style=pypinyin.CYRILLIC)
[['чжун1'], ['синь1']]
>>> pypinyin.pinyin('中心', style=pypinyin.CYRILLIC_FIRST)
[['ч'], ['с']]
[New] Added Russian translation README (`README_ru.rst`_)
[New] Command-line tool supported the new pinyin styles: CYRILLIC, CYRILLIC_FIRST
[Changed] 使用 pinyin-data_ v0.4.0 的拼音数据
[Changed] 使用 `pinyin-data`_ v0.4.0 的拼音数据
[New] 新增注音 BOPOMOFO 及注音首字母 BOPOMOFO_FIRST 风格(via #51_ thanks @gumblex_ @Artoria2e5_)
[New] 新增注音 BOPOMOFO 及注音首字母 BOPOMOFO_FIRST 风格(via `#51`_ thanks `@gumblex`_ `@Artoria2e5`_)
>>> pypinyin.pinyin('中心', style=pypinyin.BOPOMOFO)
[['ㄓㄨㄥ'], ['ㄒㄧㄣ']]
>>> pypinyin.pinyin('中心', style=pypinyin.BOPOMOFO_FIRST)
[['ㄓ'], ['ㄒ']]
[New] 新增音调在拼音后的 TONE3 以及 FINALS_TONE3 风格(via `#51`_ thanks `@gumblex`_ `@Artoria2e5`_ )
>>> pypinyin.pinyin('中心', style=pypinyin.TONE3)
[['zhong1'], ['xin1']]
>>> pypinyin.pinyin('中心', style=pypinyin.FINALS_TONE3)
[['ong1'], ['in1']]
[New] 命令行程序支持新增的四个风格: TONE3, FINALS_TONE3, BOPOMOFO, BOPOMOFO_FIRST
[Bugfixed] 修复 TONE2 中 ü 标轻声的问题(像 侵略 -> qi1n lv0e4),以及去除文档中 0 表示轻声(via `#51`_ thanks `@gumblex`_)
[Changed] 不再使用 0 表示轻声,轻声时没有数字(via `#51`_ thanks `@gumblex`_)
Your coding agent can read these notes before it upgrades. Set up the MCP server →