首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

代码语言:javascript
复制
U+4FC7  俇   ⿰亻狂 U+4FC8  俈   ⿰亻告 U+4FC9  俉   ⿰亻吾 U+4FCA  俊   ⿰亻夋  

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

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

代码语言:javascript
复制
"圣": {       "字型": "⿱",       "部分": [           "又",           "土"       ]   },   "地": {       "字型": "⿰",       "部分": [           "土",           "也"       ]   }, 

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

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

代码语言:javascript
复制
d = {1 : 'a', 3 : 'c'} print(d[4])  

反馈:

代码语言:javascript
复制
(..•˘_˘•..) 字典中不存在此键: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
  • 发表于:
  • 原文链接http://news.51cto.com/art/202007/621990.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券