草蟒“逗号表”模块介绍及中文命名随想
草蟒是 Python 汉化版中文编程语言。近日,草蟒开发者老吴完成了“逗号表”模块的创建,下面对其加以介绍。
“逗号表”汉化自 csv 模块。csv 直译是“逗号分隔值”,后者直接作为中文模块名称的话太长,不合适。经考虑,老吴根据其主要特征,将对应的中文模块名确定为“逗号表”。
该模块与 csv 文件处理有关的主要对象有两个函数(写入官、读取官)和两个类(字典写入官、字典读取官)。各位看官可能要问:xx官 是什么意思?xx官 对应的英文是 xxer,以前一般译为 xx器,但老吴在汉化过程中感觉这样命名在某些时候不利于编程命名。假设 Python 中有一个 class Translator,如果根据一般的习惯译法,草蟒中对应的类应当叫做“翻译器类”:
类 翻译器类: …
翻译器 = 翻译器类() # 实例化
是不是有点尬?采用新译法:
类 翻译官: …
翻译员 = 翻译官()
新译法的好处是:1. 类名可以减少后缀“类”字;2. 官 与 员 对应,一看便知 xx官 是一个类,而 xx员 是其实例;3. 官-员 的对应很好地模拟了英文中“首字母大写单词表示一个类,相应的小写单词表示其实例”的规则。当然,新译法仅适用于部分动作性类名;对于更多的名词性类名,老吴尚未想到更自然的处理办法。
言归正传。假设我有一些数据,现在要用 csv 文件保存起来,那么可以这样做:
导入 逗号表
表头 = ['姓名', '班级', '语文', '数学', '英语', '名次']
学生成绩 = [
['张三', 10, 82, 100, 95, 1],
['李四', 5, 66, 97, 80, 3],
['王五', 8, 93, 88, 90, 2],
]
管 打开('学生成绩表.csv','w', 编码='utf8', 换行符='') 为 文: # 换行符='' 的作用是消除空白行
写入员 = 逗号表.写入官(文)
写入员.写一行(表头)
写入员.