扯個淡:用Python實現中文程式設計

王平發表於2018-12-27

既然是扯淡,就不要當真。所謂“中文程式設計”就是用中文寫寫程式碼,不管你看著累不累,我寫著就得累死~

python中文程式設計

“中文程式設計”由來已久,不知道你聽說過“易語言”沒有,我很早就聽說過了,但是一直沒有去嘗試,因為覺得完全沒必要,甚至是“脫褲子放屁”多此一舉。也有其它中文程式語言,就不費力去探究了。

好奇搜了一下,Python中文程式設計有兩個:中蟒和周蟒。前者似乎是對原始碼下了手,把關鍵字、內建函式名改成中文,2004年就不更新了。

後者的開發者應該是個臺灣人,對中文程式碼進行關鍵字替換成原來的英文然後再用正常的Python直譯器執行,方法簡單,最新的更新好像是在2015年(github)。

其實,不對Python做任何改動,我們就可以實現絕大部分的“中文程式設計”,只是Python的保留關鍵字還得用英文,除非想中莽和周莽那樣把保留關鍵字也程式設計中文。

下圖是Python保留的關鍵字,除了它們,我們寫Python的時候都可以用中文。

python關鍵字

那麼我們就試著用Python體會一下“中文程式設計”,下面這段程式碼在Python 3 中是完全可以執行的。

python中文程式設計demo

我們來看看這個“中文程式”為什麼可以執行,它利用了Python的哪些特性?

(1)Python3支援中文作為識別符號

Python2時代,程式中的識別符號(也就是各種命名,變數名,函式名等等)只能用ascii碼中的大小寫英文字母,數字等。而Python3進行看擴充套件,擴充套件到整個unicode的區域,你可以用可列印的各種符合命名變數、函式等,這也就成了我們“中文程式設計”的基礎。如果用Python2跑這段程式碼就會報錯:

python中文程式設計報錯

(2)import as 漢化模組名

利用import as,就可以輕鬆的實現模組名的漢化。

(3)函式也是物件

Python是物件導向的程式語言,Python中一切都是物件,函式也不例外。所以,我們可以把函式賦值給變數。通過把內建函式(英文)賦值給中文變數就實現了函式的漢化,順便也把正則re的函式名也個給漢化一下下: 正則.搜尋 = 正則.search。哈哈,汗不汗~

再進一步的漢化就是把保留關鍵詞也漢化,討巧的做法就是周蟒那樣對程式碼進行字串替換。這樣語言本身漢化了,但是它的各種模組,第三分庫都是英文的,漢化起來得多累?

所以,“中文程式設計”就是一個“累”:

其一:打字累;
其二:語言周邊沒有大量的庫是累上加累。

手賤搜尋了一下,Wikipedia上還真有個詞條叫做:

Non-English-based_programming_languages
不以英語為基礎的程式語言

“不以結婚為目的的戀愛都是耍流氓”,不以英語為基礎的程式設計都是耍傻小子。再看看該詞條列出的各種非英語程式語言,好特麼多啊,一屏還佔不下,擷取部分看看吧:

python非英語程式設計

這個列表中有沒有雷到你的程式語言?不過好多確實是為教育或兒童開發的程式語言,果然是“累傻小子”的。

淡扯完了,Python的特性你瞭解了沒?

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章