python入門教程(零)
Python是什麽?是一種編程語言。編程語言是什麽?就是和機器說話的方式。編譯器和解釋器好比翻譯,把你的話翻成機器聽得懂的。但是這些翻譯不怎麽智能(雖然也有高下),你必須說一套很機械的官腔,他們才幫你翻譯——但總比直接和機器說話輕松多了。
(但是,你只能讓機器做它能做的,是吧?你不能讓CPU跳舞。)
交流是尷尬的。你不知道機器能幹啥,機器卻等著你告訴它要幹啥——仿佛列車上的陌生人。於是你敲敲他的肩膀,問:你知道人工智能嗎?(笑)——你問CPU:你能在屏幕上顯示點兒字嗎?CPU不會回答你,但我會告訴你:可以,你只要輸入print("……"),在省略號處寫上你想顯示的東西,然後把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了(雖然CPU還在機箱裏,並沒有動)。所幸顯示屏的變化可以看得到,你才能知道CPU確實做了點事。
你知道python可以在網上下載,於是下載、默認安裝。但是之後你又摸不著頭腦了:“在哪才能找到python這個翻譯?我怎麽告訴他那句print("你知道人工智能嗎")?”但也許你很聰明,從程序列表裏找到了python,然後激動地輸入了print("你知道人工智能嗎"),一敲Enter回車,發現底下多了一行,正是你要它顯示的東西。
你改了引號中的內容又試了幾次,頗為得意。事實上,你可能發現這個機器並非毫無人性,比如
你甚至可以輸一個很長的式子,也會出現結果。不過如果你希望用“^”來計算乘方時,機器顯示出了詭異的東西。雖然我可以告訴你python中兩個星號是乘方,但是請回過神來
……把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了……
你剛才壓根就沒這麽幹!那你見到誰了?其實,剛才那個窗口叫【交互式解釋器】,說白了就是對話框。但是我們常用的【解釋器】呢,一般是不交互的。雖然對話也是解釋器,但這畢竟是個附帶功能,“正確”做法是這樣的:
1. 打開一個記事本,往裏寫入代碼(比如剛才的一句print("……")),保存時把後綴名改成.py
- 交給python。事實上大部分語言會給你鬼畫符,但python偏偏直接把鬼畫符扔給機器了,你最終不知道鬼畫符長什麽樣(但也是有的)。你交給python時,python直接翻譯好扔給機器執行了,一條龍服務。交給python的方法是這樣的:在代碼文件所在目錄下按住shift右鍵,點擊“在此處打開命令窗口”(咦,對話框?),往裏敲python xxx.py(並回車),然後python就會翻譯好,並且機器開始執行。
這裏要說明一下“命令窗口”,簡稱命令行(當然也可以不顧拗口叫它命令提示符),是你和電腦對話的地方。這是電腦的自帶翻譯,你剛才幹的事全都可以幹(你輸入echo hello cmd試試?)。但是代碼可以幹復雜的事、一次幹許多事(比如計算100內素數),這就是命令行和交互式解釋器做不到的了。其實命令行也可以寫代碼,但是在哪運行呢?還得開命令行啊。所以不管了,運行就是命令行打python xxx.py。
不妨在記事本裏粘貼以下代碼,試試運行:(你可以按Ctrl+C做點什麽)
def space(a):
pencil=""
for x in range(1,a+1):
pencil=pencil+" "
return pencil
def pen(a):
pen_a=space(a%20)+"*"+space(38-2*(a%20))+"*"+space(a%20)
return pen_a
x = 0
while True:
x += 1
print(pen(x-1))
(其實,這些都可以雙擊運行,但是雙擊運行絕對不是好習慣,想象當年沒有鼠標和圖形界面怎麽辦呢?另外,命令行代碼——bat文件和cmd文件,你可能聽說過,後綴不同但內容一致,都是有條件循環等等的。但是,之所以用python,是因為更上層的差異……)
(其實,python xxx.py可以省略為xxx.py,因為很多後綴名都會讓機器知道你要做什麽,比如看到.py就默認你要找python這位翻譯官來處理。但是僅僅是省略而已,notepad xxx.py 就是讓記事本來處理,試試?)
python入門教程(零)