小烏龜趴趴走 -- 002
在前一篇短文裡﹐我們開啟「Python Shell」視窗﹐用它輸入一個個的指令﹐讓
「大蟒蛇」去一一執行。對於簡短的工作(例如數字計算)和測試﹐是簡單方便﹐
而且馬上就可獲得結果﹐可是﹐如果您有工作需要許多指令(例如說幾十個或是
幾百個)﹐而且每天都必須執行﹐想想看﹐如果每天都要這樣一行一行的將指令
從鍵盤上一一輸入﹐這是多麼耗時、繁瑣、無趣﹐而且容易打錯的一件事!所以﹐
通常我們是把要做一個工作所需的相關指令組合在一起﹐儲存在一個檔裡﹐這樣
的話﹐每天需要執行這個工作之時﹐我們只需把這個檔叫出來﹐讓「大蟒蛇」去
執行就可以了。換句話說﹐那些指令我們只需打一次﹐在儲存後﹐就可以重複使
用了。把要做一件事的相關指令﹐很有邏輯的寫下來﹐就是所謂的 scripting。
儲存的那些檔案就是 scripts 了。
今天要介紹如何建立一個 script 檔和執行這個 script。在做這些事情之前﹐我們
應該先建立一個檔案夾﹐這樣的話﹐以後所寫的 scripts 都可以存在這個檔案夾裡
了。這個新的檔案夾﹐我就用 MyTurtle 為名。
我想一般人都知道怎麼建立一個檔案夾吧?萬一您真的很少使用電腦﹐不清楚怎麼
做﹐就請繼續閱讀下面「建立檔案夾 MyTurtle」的這一段。如果您已知道如何建立
檔案夾﹐可以跳開這一段。
〈一〉 建立檔案夾 MyTurtle
如果您使用的是 Windows XP (或是 Vista)﹐首先將滑鼠的箭頭指向視窗左下方的
「開始(Start)」(如下圖所示)。
按滑鼠的右鍵﹐就會顯示如下圖的 Contextual Menu 讓您選項。請點選 Explore 。
這時﹐您就會看到左邊顯示樹狀的結構(如下圖)。您可以按滑鼠左鍵來選擇要在何
處安置您將建立的新檔案夾(如圖所示﹐我點選了 C: drive)。
然後在視窗的左上角﹐我用滑鼠左鍵先點選了「檔案(File)」﹐然後點選
「新(New)」及「檔案夾(Folder)」(如下圖所示)。
這時您就會在視窗的右邊看到「新檔案夾(New Folder)」(如下圖所示)。
您只要在鍵盤上打進 MyTurtle (如下圖所示)就可以了。
如果您使用的是 Windows 7﹐請將滑鼠箭頭指向視窗左下角的「Window Explorer」
(如下圖所示)﹐然後按左鍵。
這時﹐您就會看到左邊顯示樹狀的結構(如下圖)。您可以按滑鼠左鍵來選擇要在何處
安置您將建立的新檔案夾(如圖所示﹐我點選了 C: drive)。
在那兒按右鍵﹐然後點選「New」和「Folder」(如下圖所示)。
這時您就會看到「新檔案夾(New Folder)」(如下圖所示)﹐您只要打進檔案夾的
名字「 MyTurtle」就行了。
〈二〉 開啟 Python Shell 視窗
您還記得如何開啟 Python Shell 視窗嗎?如果忘了﹐就請參考前一篇文章的介紹。
現在讓我們開啟 Python Shell 視窗。
〈三〉 另開視窗輸入指令
在打開 Python Shell 視窗之後﹐我們要打開另一個視窗以便輸入及儲存我們的指
令﹐因為 Python Shell 這個視窗是只讓我們直接打進指令的。要另外打開新的視
窗﹐如下圖所示﹐將您的滑鼠指向 Python Shell 視窗的左上角﹐用左鍵點選「檔
案(File)」﹐然後點選「新視窗(New Window)」。
它就會打開另一個(如下圖所示的)「沒有標題(Untitled)」的視窗。
在這個沒有標題的視窗裡﹐請依照下圖所示﹐打進完全相同(包括大、小寫)的 16
個指令。在這十幾行的指令中﹐每一行的第一個字母必須對齊﹐如果沒對齊的話﹐
便有不同的涵義。我順便在這兒說一下﹐有些電腦語言規定一行只能有一個指令﹐有
的電腦語言以句點(period)來表示一個指令的終結(例如商用電腦語言 COBOL)﹐
有的則以「分號(;)」來代表一個指令的結束。對於「大蟒蛇」而言﹐一般是一
行一個指令﹐如果兩行指令沒有對齊(例如第一個指令從第一個位置開始﹐而第二
個指令從第四個位置開始﹐其意義與兩行指令都從第一個位置開始﹐是不同的。)
Indentation 是「大蟒蛇」語言結構的一部份﹐有點特別﹐但也不是沒有其他電腦
語言具有這種特色﹐例如我在公司使用的 APS 正是如此。以後我會用例子說明
Indentation 的特殊意義。
您打完一行指令就按 Enter 鍵﹐以便打下一行。在您打完「write」那行指令後﹐
按 Enter 鍵﹐當「游標(cursor」在新的一行閃動時﹐因為那行沒有指令﹐您只需
再按 Enter 鍵﹐使「游標(cursor」移往最後一行﹐等您打下最後的指令。那空行
只是便於閱讀而已﹐沒有其他特殊的意義。
〈四〉 建檔儲存指令
如果我們看到一個檔叫做 ABCD.doc﹐我們都知道那是微軟的文字檔﹐因為它的「檔
型(file type)」是 .doc。同樣的﹐「大蟒蛇」也有一個特別的檔型﹐那就是 .py。
現在我們先要把我們打好的十幾個指令先建檔儲存。
首先如下圖所示﹐將滑鼠指向視窗左上角﹐以左鍵點選「檔案(File)」﹐然後點選
「存為(Save As)」。
在顯現的「Save As」視窗中﹐點選我們剛建的檔案夾 MyTurtle﹐然後點選「打開
(Open)」。
這時﹐如下圖所示﹐ MyTurtle 檔案夾打開了﹐您可以打進檔名(這個例子使用的檔
名是 test01.py)﹐然後點選「儲存(Save)」。這樣﹐您的 script 就被存放在
MyTurtle 這個檔案夾了。
〈五〉 執行指令檔(Run Module)
要跑(run)您剛儲存的指令檔﹐首先將您的滑鼠箭頭指向「Run」(如下圖所示)﹐
然後點選「Run Module F5」。您可以看見「大蟒蛇」開始「跑」這個指令檔﹐從第
一個指令開始﹐一個指令接一個指令。
您能看出我要您「跑」這個指令檔的用意嗎?
(2011-10-10)
【附記】
既然我們將用小烏龜來畫畫﹐首先需要了解一下我們的畫布(Screen)。現在﹐我想
您已經看到了﹐我們畫布的原點(x 和 y 的座標都在零)是位於正中間﹐往原點右
邊﹐x 是正值﹐往原點左邊﹐x 是負值。往原點上邊﹐y 是正值﹐往原點下邊﹐y
是負值。
請打開新的視窗﹐輸入下面的指令﹐並儲存這個指令檔為 test1A.py。
from turtle import *
shape("turtle")
color("blue", "light blue")
forward(200)
write(pos(), font=("Arial",12, "bold"))
home()
backward(200)
write(pos(), font=("Arial",12, "bold"))
home()
left(45)
forward(200)
write(pos(), font=("Arial",12, "bold"))
goto(100, 100)
write(pos(), font=("Arial",12, "bold"))
left(90)
goto(-120, -130)
write(pos(), font=("Arial",12, "bold"))
goto(-100, -100)
circle(100)
write(pos(), font=("Arial",12, "bold"))
done()
在執行這個指令檔的時候﹐您觀察到了些什麼?
下篇文章我們會開始比較詳細的介紹「小烏龜」可以用來繪畫的指令。
月光圓圓個時節