標籤:windows 功能 對話方塊 不同 pad 正是 技術 .com 交流
(本文針對Windows)
Python是什嗎?是一種程式設計語言。程式設計語言是什嗎?就是和機器說話的方式。編譯器和解譯器好比翻譯,把你的話翻成機器聽得懂的。但是這些翻譯不怎麼智能(雖然也有高下),你必須說一套很機械的官腔,他們才幫你翻譯——但總比直接和機器說話輕鬆多了。
(但是,你只能讓機器做它能做的,是吧?你不能讓CPU跳舞。)
交流是尷尬的。你不知道機器能幹啥,機器卻等著你告訴它要幹啥——彷彿列車上的陌生人。於是你敲敲他的肩膀,問:你知道人工智慧嗎?(笑)——你問CPU:你能在螢幕上顯示點兒字嗎?CPU不會回答你,但我會告訴你:可以,你只要輸入print("……"),在省略符號處寫上你想顯示的東西,然後把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了(雖然CPU還在機箱裡,並沒有動)。所幸顯示屏的變化可以看得到,你才能知道CPU確實做了點事。
你知道python可以在網上下載,於是下載、預設安裝。但是之後你又摸不著頭腦了:“在哪才能找到python這個翻譯?我怎麼告訴他那句print("你知道人工智慧嗎")?”但也許你很聰明,從程式列表裡找到了python,然後激動地輸入了print("你知道人工智慧嗎"),一敲Enter斷行符號,發現底下多了一行,正是你要它顯示的東西。
你改了引號中的內容又試了幾次,頗為得意。事實上,你可能發現這個機器並非毫無人性,比如
你甚至可以輸一個很長的式子,也會出現結果。不過如果你希望用“^”來計算乘方時,機器顯示出了詭異的東西。雖然我可以告訴你python中兩個星號是乘方,但是請回過神來,編程其實不完全是和機器對話,更多情況下是一下子告訴他一堆,而不是一句一句說。比如你要讓他算100以內的素數,怎麼辦?你可能想起我之前的話了——
……把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了……
你剛才壓根就沒這麼幹!那你見到誰了?其實,剛才那個視窗叫【互動式解譯器】,說白了就是對話方塊。但是我們常用的【解譯器】呢,一般是不互動的。雖然對話也是解譯器,但這畢竟是個附帶功能,“正確”做法是這樣的:
1. 開啟一個記事本,往裡寫入代碼(比如剛才的一句print("……")),儲存時把尾碼名改成.py,而不是.txt
- 交給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 pencildef pen(a): pen_a=space(a%20)+"*"+space(38-2*(a%20))+"*"+space(a%20) return pen_ax = 0while True: x += 1 print(pen(x-1))
(其實,這些都可以雙擊運行,但是雙擊運行絕對不是好習慣,想象當年沒有滑鼠和圖形介面怎麼辦呢?另外,命令列代碼——bat檔案和cmd檔案,你可能聽說過,尾碼不同但內容一致,都是有條件迴圈等等的。但是,之所以用python,是因為更上層的差異……)
(其實,python xxx.py可以省略為xxx.py,因為很多尾碼名都會讓機器知道你要做什麼,比如看到.py就預設你要找python這位翻譯官來處理。但是僅僅是省略而已,notepad xxx.py 就是讓記事本來處理,試試?)
python入門教程(零)