周蟒
周蟒,又名zhpy,是一個輕量的,與 Python 語言互相兼容的中文 Python 語言。讓使用者可以使
用純中文語句(繁體或簡體)來編寫程式。目前主要適用於教學上。 周蟒中文程式語言是持續更新版本、並提供電子書、API、完整測試用例的開放原始碼中文程式語言。 周蟒中文程式語言的目標是協助使用者透過中文程式語言學習程式語言,進而接觸世界上大部份的程式語言,而不是脫離現實世界。 周蟒作者 gasolin 提出了周蟒編程風格 與 周蟒中文程式語言的四不一沒有,透過程式語言的約定,使用周蟒寫出的中文程式保有了易於閱讀的特性,並可完全轉換成英文 Python 語言程式。 周蟒語言擁有 Python 語言的所有特性,如高效率的高階數據結構、簡單而有效的面向對象程式設計方式等等。 由於周蟒語言完全相容 Python 程式語言,所以可以取用所有 Python 程式語言資源。 周蟒語言的長處是在於發揮 "完全相容 Python 程式語言" 的中文程式語言的優點,所有語法,關鍵字都依照 Python 語言的風格。學習周蟒語言後要橋接到 Python 語言相當容易。 周蟒也同時提供 咬一口周蟒中文程式語言 電子書,所有範例都一併提供與 python 語言程式碼的對照。 周蟒是開放原始碼的,可自由下載使用。 周蟒提供編譯器與互動式直譯器,也支援中文腳本執行。
周蟒的HelloWorld程式
下面是一個在標準輸出設備上輸出Hello World的簡單程式,這種程式通常作為開始學習程式語言時的第一個程式:
#!/usr/ bin / env zhpy 印出 "哈羅,世界" |
或者是在互動式直譯器(命令列)的模式下:
$ zhpy >>> 印出 "哈羅,世界" #支援繁中 哈羅,世界 >>> 印出 "哈囉,世界" #支持簡中 哈囉,世界 >>> print " hello world" #支持英文 hello world |
可以得知周蟒支援繁,簡中文,英文編程。 python 版本的程式則只支持英文:
$ python >>> print "hello world" hello world |
範例
以下是程式透過編譯器執行的範例:
#!/usr/bin/env zhpy # 檔名: while ,py 數字 = 23 運行 = 真 當 運行: 猜測 = 整數(輸入('輸入一個數字: ')) 如果 猜測 == 數字: 印出 '恭喜, 你猜對了.' 運行 = 假 # 這會讓 循環語句 結束 假使 猜測 < 數字: 印出 '錯了, 數字再大一點.' 否則: 印出 '錯了, 數字再小一點.' 否則: 印出 '循環語句結束' 印出 '結束' |
Python 版:
#!/usr/bin/env python # File name : while.twpy number = 23 running = True while running: guess = int(raw_input('Enter an integer : ')) if guess == number: print 'Congratulations, you guessed it.' running = False # this causes the while loop to stop elif guess < number: print 'No, it is higher than that.' else : print 'No, it is lower than that.' else: print 'The while loop is over' print 'Done' |
輸出結果
$ zhpy while.twpy 輸入一個數字:50 錯了,數字再小一點。 輸入一個數字:22 錯了,數字再大一點。 輸入一個數字:23 恭喜,你猜對了。 循環語句結束 結束 |
Python 版:
$ python while,py Enter an integer : 50 No, it is lower than that. Enter an integer : 22 No, it is higher than that. Enter an integer : 23 Congratulations, you guessed it. The while loop is over Done |
可印證周蟒語言在完整保留 Python 程式語法與關鍵字的支援外,還加上了繁簡中文保留字,變數名稱,內建型別操作的支援。 周蟒語言也可以透過 ini 檔或外掛程式的方式來自訂額外的中文關鍵字,使用中文調用現有的Python 模組。 周蟒 1.1 版本之後並支援 Python/周蟒程式碼雙向轉換。
面向對象
周蟒與 Python 語言一樣完全支援面向對象表示方式。在 周蟒官方網站 中,有以維基的 面向對象 的虛擬碼為例,改寫成的 周蟒版本