木兰编程语言重现:完善函数功能,常用字拆分数据处理实例

栏目: 软件资讯 · 发布时间: 6年前

内容简介:注:项目目标见码云代码库 为方便使用 Python 的标准库与第三方库,支持了函数调用时指定形参名的方式,比如下面代码第一行打开文件的encoding="utf-8": 与之相关,定义函数时可以指定形参默认值,也一并添加。 ...

注:项目目标见码云代码库

为方便使用 Python 的标准库与第三方库,支持了函数调用时指定形参名的方式,比如下面代码第一行打开文件的encoding="utf-8":

木兰编程语言重现:完善函数功能,常用字拆分数据处理实例

与之相关,定义函数时可以指定形参默认值,也一并添加。

这段代码是为了获取常用汉字的拆字数据。源数据包括了几万汉字的信息比如:

U+4FC7	俇	⿰亻狂
U+4FC8	俈	⿰亻告
U+4FC9	俉	⿰亻吾
U+4FCA	俊	⿰亻夋 

首先写了个简单的常用字库,用以判断一个字是否属于常用的 2500 字(详见源码)。

上图的代码是过滤了源数据,只取出了常用字中,拆分出的部分也属于常用字的部分,并输出到 json 文件。比如:

    "圣": {
        "字型": "⿱",
        "部分": [
            "又",
            "土"
        ]
    },
    "地": {
        "字型": "⿰",
        "部分": [
            "土",
            "也"
        ]
    },

通过此段实例代码,验证了添加的函数功能,并发现了一些字符串转义处理上的问题并修复。

另外,将字典中无键的反馈信息中文化:

d = {1 : 'a', 3 : 'c'}
print(d[4]) 

反馈:

(..•˘_˘•..) 字典中不存在此键:4
见第2行:print(d[4]) 

代码统计

下面是几个主要部分的代码行数统计,格式为:上周->本周。

  • 测试
    • 木兰测试用例:1090 -> 1228
    • 运行测试.py,检验所有木兰测试代码片段:148 -> 151
    • test语法树.py,确保生成的语法树与原始版本一致。修复并添加:63 -> 67

 

  • 实现:2075 -> 2130
    • 分析器/语法分析器.py:886 -> 916
    • 分析器/语法树.py,功用/调试辅助.py,包括对 ast 库的中文封装:271 -> 284
    • 演示高亮.py:98 -> 100
    • 环境.py,加载木兰模块:88 -> 89
    • 功用/反馈信息.py:43 -> 45
    • 未变
      • 分析器/词法分析器.py:187
      • 中.py,主程序:35

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

微服务设计

微服务设计

[英] Sam Newman / 崔力强、张 骏 / 人民邮电出版社 / 2016-5 / 69.00元

本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统中,采用递增手段拆分单块大型应用,通过持续集成部署微服务,等等。一起来看看 《微服务设计》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具