現代計算機和程式設計的起源和推動力量主要源自美國,再加上26個字母很便於表示(算上大小寫,6位bit就夠了),因此英語一直是程式設計領域的不二之選。但這就給部分非英語國家的程式設計學習者帶來一些困擾。以至於有些人還沒開始學,就擔心自己的英語問題。這完全沒必要,因為程式設計初期所用到的單詞很有限,你就當做乙個符號去記,也能很快熟悉。而且我們一直在講的 python,也可以「用中文」來程式設計。
python3 對於字元編碼這一塊做了很大改進。帶來的乙個額外功能就是,你可以使用中文作為變數名。比如:
>>> 名字 = '張三'
>>> 年齡 = 18
>>> print(名字, 年齡)
張三 18
複製**
上面這樣的寫法完全是符合語法的,但我個人沒有習慣這麼來命名。不過非要這麼來的,我們可以嘗試把教程裡的「猜數字」**改一下(原版**見教程 22 課):
from
random
import
randint
def是否相等
(引數1
,引數2
):if
引數1<
引數2:
print
('太小了'
)return
false;if
引數1>
引數2:
print
('太大了'
)return
false;if
引數1==
引數2:
print
('猜中了!'
)return
true答案=
randint(1
,100
)print
('猜猜我想的是幾?'
)是否猜中
=false
while
是否猜中
==false
:猜測值
=int
(input
())是否猜中
=是否相等
(猜測值,答案
)複製**
使用中文變數名,執行效果和原版完全一致(除非**的編碼出了問題)。更進一步,你還可以通過某些方式更改系統提供的函式名:
from
random
import
randint
as隨機整數輸入=
input輸出
=print對=
true錯=
false整數=
intdef
是否相等
(引數1
,引數2
):if
引數1<
引數2:輸出(
'太小了'
)return錯;
if引數1
>
引數2:輸出(
'太大了'
)return錯;
if引數1
==引數2:輸出
('猜中了!'
)return對答案
=隨機整數(1
,100)輸出
('猜猜我想的是幾?'
)是否猜中=錯
while
是否猜中==錯
:猜測值=整數
(輸入())是否猜中
=是否相等
(猜測值,答案
)複製**
這裡牽涉到3個概念:
from random import randint as 隨機整數
是引入模組時指定別名對 = true
,就是乙個普通的變數賦值輸入 = input
、整數 = int
,要理解這個用法,你需要有物件導向的認識:在 python 中函式也是一種物件,可以像普通值一樣賦值給變數。賦值之後,這個變數就相當於這個函式,可以通過括號語法來呼叫。
如果你還嫌不夠徹底,有人給了更**的解決方案:乙個叫做「周蟒」的專案,相當於把 python 翻譯成了中文。(不過專案很久沒更新了,我在 py3 上安裝未成功)
在 py2 上通過 pip 即可安裝:
pip install zhpy
複製**
之後就能通過zhpy
進入互動環境,或者直接zhpy test.py
執行你的中文 py **檔案。
寫出來**是醬嬸兒的:
從
random
匯入randint
作為隨機整數
定義是否相等
(引數1
,引數2
):如果
引數1<
引數2:
列印'太小了'返回假
如果引數1
>
引數2:
列印'太大了'返回假
如果引數1
==引數2:列印
'猜中了!'返回真
答案=隨機整數(1
,100)列印
'猜猜我想的是幾?'
是否猜中=假
當是否猜中==假
:猜測值=整數
(輸入())是否猜中
=是否相等
(猜測值,答案
)複製**
幾乎幫你把所有基礎語法都轉成了中文,甚至還可以用 emoji 表情……之前有同學對猜數字**的理解還有疑惑,尤其是 bingo 這個變數,那如果寫成這樣,是不是更容易理解一點呢?
除此之外,還有不少中文程式語言,其中最出名的莫過於「易語言」。雖然科班出身的程式設計師都不太看得上這種語言,但不得不承認,它在我國的草根黑客圈中有著廣泛的群眾基礎。
另外,我還發現了乙個有趣語言,叫perlyuyan。看名字就知道是基於 perl,但讓你想不到的是,它將 perl 翻譯成了文言文……比如官方示例裡的**:
用警兮用嚴。
印道一至一
哉兮印編曰雜申
雜申矣又纖曰龍鼠矣
又曰一矣
亂曰國無人莫我知兮
又何懷乎故都
既莫足與為美政兮
吾將從彭咸之所居
資曰印重一至一兮
重起一至十合始印終
複製**
看了這些中文寫出的**,你現在有啥想法?覺得太酷炫了,還是視作異端?
最後還是說句,儘管可以用中文寫**,儘管有大量的中文資料、教程、文件,就算你自己也接受使用中文來學習程式設計甚至寫**,我還是強烈建議你盡量提公升下英文,逼著自己去看報錯、看原版文件、看 stackoverflow 上的問答,哪怕一開始你用翻譯工具慢慢查。英語能力雖然對你程式設計起步的下限影響不大,但對你程式設計發展的上限至關重要。和學程式設計一樣,這是個長期的過程,堅持下去總會有提公升的。
之前我們還做過乙個整理程式設計英語高頻詞彙的小專案,有需要的可以拿去參考:《我們用程式整理出了乙份python英語高頻詞彙表,拿走不謝!》,希望對你有所幫助。
如何自學python | 新手引導 | 精選
python
python裡能不能用中文
現代計算機和程式設計的起源和推動力量主要源自美國,再加上26個字母很便於表示 算上大小寫,6位bit就夠了 因此英語一直是程式設計領域的不二之選。但這就給部分非英語國家的程式設計學習者帶來一些困擾。以至於有些人還沒開始學,就擔心自己的英語問題。這完全沒必要,因為程式設計初期所用到的單詞很有限,你就當...
python能不能用c開啟檔案
上一節我們學習了如何建立檔案並寫入資訊,那麼還需要學習怎麼在程式裡使用檔案中的內容,關於檔案的操作,下面 裡彙總了多種方式。方法說明 file.read number 這種方式用於讀取文字的指定字串長度 file.readline 這種方式讀取文字的第一行內容 flie.readlines 這種方式...
微商分銷功能不能用了
微商連遭重創 加碼內容製作 新微商時代,深挖內容成為微商們轉型的重要方向。背靠巨頭天虹商場,旗下天虹微品對取消 分銷並不擔憂。天虹微品總經理王亞非在接受北京商報記者採訪時表示,2014年上線的天虹微品去年發動員工開微店至今,已經吸引微店店主近30萬人,年增長率達130 150 銷售轉化率在10 以上...