扯个淡:用Python实现中文编程
既然是扯淡,就不要当真。所谓“中文编程”就是用中文写写代码,不管你看着累不累,我写着就得累死~
“中文编程”由来已久,不知道你听说过“易语言”没有,我很早就听说过了,但是一直没有去尝试,因为觉得完全没必要,甚至是“脱裤子放屁”多此一举。也有其它中文编程语言,就不费力去探究了。
好奇搜了一下,Python中文编程有两个:中蟒和周蟒。前者似乎是对源码下了手,把关键字、内置函数名改成中文,2004年就不更新了。后者的开发者应该是个台湾人,对中文代码进行关键字替换成原来的英文然后再用正常的Python解释器执行,方法简单,最新的更新好像是在2015年(github)。
其实,不对Python做任何改动,我们就可以实现绝大部分的“中文编程”,只是Python的保留关键字还得用英文,除非想中莽和周莽那样把保留关键字也编程中文。下图是Python保留的关键字,除了它们,我们写Python的时候都可以用中文。
那么我们就试着用Python体会一下“中文编程”,下面这段代码在Python 3 中是完全可以运行的。
我们来看看这个“中文程序”为什么可以运行,它利用了Python的哪些特性?
(1)Python3支持中文作为标识符
Python2时代,程序中的标识符(也就是各种命名,变量名,函数名等等)只能用ascii码中的大小写英文字母,数字等。而Python3进行看扩展,扩展到整个unicode的区域,你可以用可打印的各种符合命名变量、函数等,这也就成了我们“中文编程”的基础。如果用Python2跑这段代码就会报错:
(2)import as 汉化模块名
利用import as,就可以轻松的实现模块名的汉化。
(3)函数也是对象
Python是面向对象的编程语言,Python中一切都是对象,函数也不例外。所以,我们可以把函数赋值给变量。通过把内置函数(英文)赋值给中文变量就实现了函数的汉化,顺便也把正则re的函数名也个给汉化一下下: 正则.搜索 = 正则.search。哈哈,汗不汗~
再进一步的汉化就是把保留关键词也汉化,讨巧的做法就是周蟒那样对代码进行字符串替换。这样语言本身汉化了,但是它的各种模块,第三分库都是英文的,汉化起来得多累?
所以,“中文编程”就是一个“累”:
其一:打字累;
其二:语言周边没有大量的库是累上加累。
手贱搜索了一下,Wikipedia上还真有个词条叫做:
Non-English-based_programming_languages
不以英语为基础的编程语言
“不以结婚为目的的恋爱都是耍流氓”,不以英语为基础的编程都是耍傻小子。再看看该词条列出的各种非英语编程语言,好特么多啊,一屏还占不下,截取部分看看吧:
这个列表中有没有雷到你的编程语言?不过好多确实是为教育或儿童开发的编程语言,果然是“累傻小子”的。
淡扯完了,Python的特性你了解了没?