1. 程式人生 > >python入門教程(零)

python入門教程(零)

輸入 ctrl+ true 習慣 保存 def block 安裝 xxx

(本文針對Windows)

  Python是什麽?是一種編程語言。編程語言是什麽?就是和機器說話的方式。編譯器和解釋器好比翻譯,把你的話翻成機器聽得懂的。但是這些翻譯不怎麽智能(雖然也有高下),你必須說一套很機械的官腔,他們才幫你翻譯——但總比直接和機器說話輕松多了。

(但是,你只能讓機器做它能做的,是吧?你不能讓CPU跳舞。)

  交流是尷尬的。你不知道機器能幹啥,機器卻等著你告訴它要幹啥——仿佛列車上的陌生人。於是你敲敲他的肩膀,問:你知道人工智能嗎?(笑)——你問CPU:你能在屏幕上顯示點兒字嗎?CPU不會回答你,但我會告訴你:可以,你只要輸入print("……"),在省略號處寫上你想顯示的東西,然後把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了(雖然CPU還在機箱裏,並沒有動)。所幸顯示屏的變化可以看得到,你才能知道CPU確實做了點事。

  你知道python可以在網上下載,於是下載、默認安裝。但是之後你又摸不著頭腦了:“在哪才能找到python這個翻譯?我怎麽告訴他那句print("你知道人工智能嗎")?”但也許你很聰明,從程序列表裏找到了python,然後激動地輸入了print("你知道人工智能嗎"),一敲Enter回車,發現底下多了一行,正是你要它顯示的東西。
技術分享圖片
技術分享圖片

  你改了引號中的內容又試了幾次,頗為得意。事實上,你可能發現這個機器並非毫無人性,比如

技術分享圖片

  你甚至可以輸一個很長的式子,也會出現結果。不過如果你希望用“^”來計算乘方時,機器顯示出了詭異的東西。雖然我可以告訴你python中兩個星號是乘方,但是請回過神來

,編程其實不完全是和機器對話,更多情況下是一下子告訴他一堆,而不是一句一句說。比如你要讓他算100以內的素數,怎麽辦?你可能想起我之前的話了——

……把這話交給一個叫python的翻譯,翻譯就會把這話翻譯成機器才看得懂的鬼畫符。然後你拿著鬼畫符找機器,說:“照這上面做!”,機器就動起來了……

  你剛才壓根就沒這麽幹!那你見到誰了?其實,剛才那個窗口叫【交互式解釋器】,說白了就是對話框。但是我們常用的【解釋器】呢,一般是不交互的。雖然對話也是解釋器,但這畢竟是個附帶功能,“正確”做法是這樣的:

1. 打開一個記事本,往裏寫入代碼(比如剛才的一句print("……")),保存時把後綴名改成.py

,而不是.txt

  1. 交給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入門教程(零)