周蟒介绍 ========== 简介 -------------- 周蟒,又名zhpy,是一个开放原始码,轻量的,基于Python 2.x并互相兼容的中文程序语言。 周蟒的主要目的是让使用者可以使用纯中文语句(繁体或简体)来编写程序,并能简单地透过easy_install的方式作为模块安装到各种(2.x)版本的Python环境中。目前主要使用于教学上。 作者相信未来并非所有的人都是为了工作而学习编程,而是将编程视为一种应用工具,可透过编程的手段来验证概念与逻辑,或透过编程来随手解决生活中所遇到的问题。 周蟒的目标不是自立一格,脱离现实英文为主的编程世界。透过程序语法与编程风格的约定,让使用周蟒写出的中文程序保有了易于阅读的特性,协助使用者透过中文即可学习编程,进而再接触世界上大部份的程式语言。周蟒实现了中文程序与英文Python程序的双向转换,且可以直接运用原有的Python模块资源,让转换到Python程式语言的代价降到最低。 周蟒语言的长处是"可使用中文撰写,并完全相容Python程序语言"。在初学阶段先学习周蟒语言,之后再桥接到Python语言非常容易。对有经验的Python程序员来说,透过半小时左右的摸索后,使用周蟒来向编程初学者做教学完全是可能的。 缘起 ------------- 在2006年底,gasolin在 python-cn group 上发表了一篇 "关于中文编程" 的主题,引发了一波是否需要中文编程语言的讨论, 并引出了 HYRY 的Python中文关键词替换脚本。这个为了教小学生编程,为教学目的而写的脚本即周蟒的前身。透过执行脚本,能将以简体中文撰写的程序的中文关键词,以Python关键词替换,而达到能使用Python执行中文程序的目的。在半年后周蟒的作者gasolin将这个概念再做进一步的发展,在2007年8月发佈了第一版周蟒(0.2),支援繁简体中文关键词替换,并提供easy_install、命令行工具等功能。在后续的更新版本中,也吸引了更多开发者的投入,陆续支援了周蟒/Python双向转换、汇入Python模块、互动式直译器、完整文件等Python语言具备的特色。周蟒透过Python提供编译器与互动式直译器,并支援脚本执行和将脚本转换为纯Python代码。所以我们可以很容易地透过周蟒来桥接Python语言的学习经验。 使用方式 ------------------ 周蟒和Python裡,最小的单位是一个语句(statement)。用法很简单,一行就写完了: :: >>> 打印 "学习周蟒" 以下是一些透过互动式直译器(在console中)的用法。 周蟒版 :: $ zhpy 周蟒 1.7.3.1 在 darwin 基于 Python 2.6.1 >>> 打印 "学习周蟒" >>> Python版 :: $ python Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print "learning python" learning python >>> 除了一条条地执行语句之外,我们也可以把几个语句(statement) 有机地组织起来,给它一个代号,之后呼叫这个组合的代号时即执行这个固定的执行组合,这样的组合称为函式(function)。 周蟒版 :: 定义 学习(谁): 打印 谁+" 喜欢学周蟒" Python版 :: def learn(who): print who + " like to learn python" 在console中执行结果 :: $ zhpy 周蟒 1.7.3.1 在 darwin 基于 Python 2.6.1 >>> 定义 学习(谁): >>> 打印 谁+" 喜欢学周蟒" >>> 学习("大妈") 大妈 喜欢学周蟒 >>> 学习("三好学生") 三好学生 喜欢学周蟒 如果有好几个函式(function)都和某个主题有关,那还可以把这些函式统合到这个主题下,给它一个代号。这样能统合函式的主题称为类 (class)。 周蟒版 :: 类别 学校(): 定义 编程(我, 谁): 打印 谁+" 喜欢学周蟒" 定义 编程(我, 谁): 打印 谁+" 喜欢写周蟒程序" Python版 :: class school(): def learn(self, who): print who + " like to learn python" def programming(self, who): print who + " like to write python" 在console中执行结果 :: $ zhpy 周蟒 1.7.3.1 在 darwin 基于 Python 2.6.1 >>> 类别 学校(): ... 定义 编程(我, 谁): ... 打印 谁+" 喜欢学周蟒" ... 定义 编程(我, 谁): ... 打印 谁+" 喜欢写周蟒程序" ... >>> 国小 = 学校() >>> 国小.编程("雷锋") 雷锋 喜欢写周蟒程序 >>> 当然,周蟒程式和Python程式一样,可以储存到档桉中透过命令行来执行。也可以透过”zhpy --help”查看各种周蟒的进阶用法,如使用”zhpy --cn [file name].cnpy”来将周蟒脚本转换成纯Python程序。 在周蟒网站上提供了完整的学习文件,并包含许多与Python对照的完整范例,可供有兴趣入门周蟒或Python语言的读者参考。 参考 ---------- 维基百科 http://zh.wikipedia.org/zh-cn/%E5%91%A8%E8%9F%92 周蟒官网 http://code.google.com/p/zhpy/ 周蟒程序哲学与风格 http://code.google.com/p/zhpy/wiki/CodingStyle 咬一口Python程序语言教程 http://code.google.com/p/zhpy/wiki/ByteOfZhpy 关于周蟒(其中有周蟒专桉架构与历史) http://code.google.com/p/zhpy/wiki/AboutZhpy “关于中文编程”讨论组 https://groups.google.com/forum/#!topic/python-cn/WtgBluoh8F4