API

拼音风格:

风格 含义
pypinyin.NORMAL 0 普通风格,不带声调。如: 中国 -> zhong guo
pypinyin.TONE 1 声调风格1,拼音声调在韵母第一个字母上(默认风格)。如: 中国 -> zhōng guó
pypinyin.TONE2 2 声调风格2,即拼音声调在各个韵母之后,用数字 [1-4] 进行表示。如: 中国 -> zho1ng guo2
pypinyin.TONE3 8 声调风格3,即拼音声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> zhong1 guo2
pypinyin.INITIALS 3 声母风格,只返回各个拼音的声母部分(注:有的拼音没有声母,详见 #27)。如: 中国 -> zh g
pypinyin.FIRST_LETTER 4 首字母风格,只返回拼音的首字母部分。如: 中国 -> z g
pypinyin.FINALS 5 韵母风格,只返回各个拼音的韵母部分,不带声调。如: 中国 -> ong uo
pypinyin.FINALS_TONE 6 韵母风格1,带声调,声调在韵母第一个字母上。如:中国 -> ōng
pypinyin.FINALS_TONE2 7 韵母风格2,带声调,声调在各个韵母之后,用数字 [1-4] 进行表示。如: 中国 -> o1ng uo2
pypinyin.FINALS_TONE3 9 韵母风格3,带声调,声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> ong1 uo2
pypinyin.BOPOMOFO 10 注音风格,带声调,阴平(第一声)不标。如: 中国 -> ㄓㄨㄥ ㄍㄨㄛˊ
pypinyin.BOPOMOFO_FIRST 11 注音风格,仅首字母。如: 中国 ->
pypinyin.CYRILLIC 12 汉语拼音与俄语字母对照风格,声调在各个拼音之后,用数字 [1-4] 进行表示。如: 中国 -> чжун1 го2
pypinyin.CYRILLIC_FIRST 13 汉语拼音与俄语字母对照风格,仅首字母。如: 中国 -> ч г
pypinyin.pinyin(hans, style=1, heteronym=False, errors=u'default')[源代码]

将汉字转换为拼音.

参数:
  • hans (unicode 字符串或字符串列表) –

    汉字字符串( '你好吗' )或列表( ['你好', '吗'] ).

    如果用户安装了 jieba , 将使用 jieba 对字符串进行 分词处理。可以通过传入列表的方式禁用这种行为。

    也可以使用自己喜爱的分词模块对字符串进行分词处理, 只需将经过分词处理的字符串列表传进来就可以了。

  • style – 指定拼音风格
  • errors

    指定如何处理没有拼音的字符

    • 'default': 保留原始字符
    • 'ignore': 忽略该字符
    • 'replace': 替换为去掉 \u 的 unicode 编码字符串 ('\u90aa' => '90aa')
    • callable 对象: 回调函数之类的可调用对象。如果 erros 参数 的值是个可调用对象,那么程序会回调这个函数: func(char):
      def foobar(char):
          return 'a'
      pinyin('あ', errors=foobar)
      
  • heteronym – 是否启用多音字
返回:

拼音列表

返回类型:

list

Usage:

>>> from pypinyin import pinyin
>>> import pypinyin
>>> pinyin('中心')
[['zhōng'], ['xīn']]
>>> pinyin('中心', heteronym=True)  # 启用多音字模式
[['zhōng', 'zhòng'], ['xīn']]
>>> pinyin('中心', style=pypinyin.FIRST_LETTER)  # 设置拼音风格
[['z'], ['x']]
>>> pinyin('中心', style=pypinyin.TONE2)
[['zho1ng'], ['xi1n']]
>>> pinyin('中心', style=pypinyin.CYRILLIC)
[['чжун1'], ['синь1']]
pypinyin.lazy_pinyin(hans, style=0, errors=u'default')[源代码]

不包含多音字的拼音列表.

pinyin() 的区别是返回的拼音是个字符串, 并且每个字只包含一个读音.

参数:
  • hans (unicode or list) – 汉字
  • style – 指定拼音风格
  • errors – 指定如何处理没有拼音的字符,详情请参考 pinyin()
返回:

拼音列表(e.g. ['zhong', 'guo', 'ren'])

返回类型:

list

Usage:

>>> from pypinyin import lazy_pinyin
>>> import pypinyin
>>> lazy_pinyin('中心')
['zhong', 'xin']
>>> lazy_pinyin('中心', style=pypinyin.TONE)
['zhōng', 'xīn']
>>> lazy_pinyin('中心', style=pypinyin.FIRST_LETTER)
['z', 'x']
>>> lazy_pinyin('中心', style=pypinyin.TONE2)
['zho1ng', 'xi1n']
>>> lazy_pinyin('中心', style=pypinyin.CYRILLIC)
['чжун1', 'синь1']
pypinyin.load_single_dict(pinyin_dict, style=u'default')[源代码]

载入用户自定义的单字拼音库

参数:
  • pinyin_dict (dict) – 单字拼音库。比如: {0x963F: u"ā,ē"}
  • style – pinyin_dict 参数值的拼音库风格. 支持 ‘default’, ‘tone2’
pypinyin.load_phrases_dict(phrases_dict, style=u'default')[源代码]

载入用户自定义的词语拼音库

参数:
  • phrases_dict (dict) – 词语拼音库。比如: {u"阿爸": [[u"ā"], [u"bà"]]}
  • style – phrases_dict 参数值的拼音库风格. 支持 ‘default’, ‘tone2’
pypinyin.slug(hans, style=0, heteronym=False, separator=u'-', errors=u'default')[源代码]

生成 slug 字符串.

参数:
  • hans (unicode or list) – 汉字
  • style – 指定拼音风格
  • heteronym – 是否启用多音字
  • separstor – 两个拼音间的分隔符/连接符
  • errors – 指定如何处理没有拼音的字符,详情请参考 pinyin()
返回:

slug 字符串.

>>> import pypinyin
>>> pypinyin.slug('中国人')
'zhong-guo-ren'
>>> pypinyin.slug('中国人', separator=' ')
'zhong guo ren'
>>> pypinyin.slug('中国人', style=pypinyin.FIRST_LETTER)
'z-g-r'
>>> pypinyin.slug('中国人', style=pypinyin.CYRILLIC)
'чжун1-го2-жэнь2'