扯个淡:用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的特性你了解了没?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181226G1KXWO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励