複製鏈接
請複製以下鏈接發送給好友

turtle

(python模塊)

鎖定
turtle庫是Python語言中自帶的一個用於繪製圖像的函數庫。turtle庫為使用者提供一個或多個小烏龜作為畫筆,使用者可通過turtle庫提供的各種方法去控制小烏龜在一個平面直角座標系中移動並繪製移動軌跡以畫出想要的圖案。 [1] 
外文名
turtle
所屬語言
Python語言

turtle基礎知識

turtle畫布

turtle展開用於繪圖的區域,可以設置它的大小和初始位置。
設置畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素)、高、背景顏色。
如:turtle.screensize(800, 600, "green")
turtle.screensize()返回默認值(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width,height:輸入寬和高為整數時,表示像素;為小數時,表示佔據電腦屏幕的比例,(startx, starty):這一座標表示矩形窗口左上角頂點的位置,如果為空,則窗口位於屏幕中心。
如:turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)

turtle畫筆

在畫布上,默認有一個座標原點為畫布中心的座標系,座標原點上有一隻面朝x軸正方向的小烏龜。這裏描述小烏龜時使用了兩個詞語:座標原點(位置),面朝x軸正方向(方向),turtle繪圖中,就是使用位置和方向描述小烏龜(畫筆)的狀態。

turtle命令

turtle庫中有許多操縱海龜繪圖的命令,這些命令大致可以劃分為以下幾種:畫筆控制命令、畫筆運動命令、全局控制命令,以及其他命令。

turtle畫筆控制命令

 
命令
説明
turtle.pencolor(color)
設置畫筆顏色為color對應的顏色(默認為黑色),color既可以是特定的表示顏色的字符串如"red"、"blue",也可以是RGB3元元組如(255, 255, 255)(可以不加括號),無參數傳入時返回畫筆當前顏色
turtle.pensize(w)/turtle.width(w)
設置畫筆的寬度為w個像素(默認為1),無參數傳入時返回畫筆當前寬度
turtle.speed(v)
設置畫筆移動速度為v(默認為3),v為0~10的整數,無參數傳入時返回畫筆當前速度
turtle.penup()/turtle.pu()/turtle.up()
提筆,移動時不繪製移動軌跡,用於另起一個地方繪製
turtle.pendown()/turtle.pd()/turtle.down()
落筆(默認為落筆狀態),移動時繪製移動軌跡,缺省時也為繪製
turtle.fillcolor(colorstring)
繪製圖形的填充顏色
turtle.color(color1, color2)
同時設置pencolor=color1, fillcolor=color2
turtle.filling()
返回當前是否在填充狀態
turtle.begin_fill()
準備開始填充圖形
turtle.end_fill()
填充完成
turtle.hideturtle()
隱藏畫筆的turtle形狀
turtle.showturtle()
顯示畫筆的turtle形狀

turtle畫筆運動命令

命令
説明
turtle.forward(d)/turtle.fd(d)
向前移動d個像素
turtle.backward(d)/turtle.bk(d)
向後移動d個像素
turtle.right(θ)/turtle.rt(θ)
順時針旋轉θ
turtle.left(θ)/turtle.lt(θ)
逆時針旋轉θ
turtle.setheading(θ)
使畫筆與x軸正方向的夾角為θ
turtle.setx(x₀)
水平移動至x=x₀處
turtlr.sety(y₀)
豎直移動至y=y₀處
turtle.goto(x₀,y₀)
直線移動至座標(x₀,y₀)處
turtle.home()
直線移動至原點並朝向x軸正方向
turtle.circle(r)
r>0(<0),繞畫筆的左邊(右邊)|r|個像素的圓心向前做圓周運動
turtle.circle(r, θ)
r>0(<0),繞畫筆的左邊(右邊)|r|個像素的圓心做圓心角為|θ|的圓周運動;θ>0(<0),向前(向後)運動
turtle.dot(d, color)
原地繪製一個直徑為d個像素、顏色為color的圓點

turtle全局控制命令

命令
説明
turtle.clear()
清除,但是turtle的位置和狀態不會改變
turtle.reset()
清空窗口,重置turtle狀態為起始狀態
turtle.undo()
撤銷上一個turtle動作
turtle.degrees()
使用角度制計算角的大小(默認為角度制)
turtle.radians()
使用弧度制計算角的大小
turtle.isvisible()
返回當前turtle是否可見
turtle.stamp()
複製當前圖形
turtle.write(s [,font=("font-name",font_size,"font_type")])
寫文本,s為文本內容,font是字體的參數,分別為字體名稱,大小和類型;font為可選項,font參數也是可選項

turtle其他命令

命令
説明
turtle.mainloop()或turtle.done()
啓動事件循環 -調用Tkinter的mainloop函數。
必須是烏龜圖形程序中的最後一個語句。
turtle.mode(mode=None)
設置烏龜模式(“standard”,“logo”或“world”)並執行重置。如果沒有給出模式,則返回當前模式。
模式
初始龜標題
正角度
standard
向右(東)
逆時針
logo
向上(北)
順時針
turtle.delay(delay=None)
設置或返回以毫秒為單位的繪圖延遲。
turtle.begin_poly()
開始記錄多邊形的頂點。當前的烏龜位置是多邊形的第一個頂點。
turtle.end_poly()
停止記錄多邊形的頂點。當前的烏龜位置是多邊形的最後一個頂點。將與第一個頂點相連。
turtle.get_poly()
返回最後記錄的多邊形。
[1] 
參考資料