python的标准库turtle_Python标准库: turtle--海龟绘图。
turtle?--- 海龜繪圖
(點擊查看官方文檔。)
簡介
import turtle #調用該庫。Turtle的實例對象,默認命名為turtle。
turtle.forward(10)from turtle import * #調用方法時,可以省略寫turtle對象。
之所以叫turtle,其實就是一個想象,在繪圖區的箭頭作為一支筆,用它來繪制圖形。
turtle模塊使用tkinter?實現基本圖形界面,因此需要安裝了 Tk 支持的 Python 版本。
python3 -m tkinter #如果有這個模塊會彈出一個小窗口。
turtle模塊支持面向對象和過程,接口有2+2個類:
TurtleScreen類:定義圖形窗口作為繪圖場所。
派生的Screen子類,產生一個單例對象。
RawTurtle(也叫RawPen)類:定義如何繪圖。
派生的子類Turtle(也叫Pen): 該類的對象在Screen實例上繪圖。
上面TurtleScreen/Screen,?RawTurtle/Turtle 的所有方法存在對應的函數,即作為面向過程的接口組成部分。
過程式接口提供與?Screen?和?Turtle?類的方法相對應的函數。函數名與對應的方法名相同。
當 Screen 類的方法對應函數被調用時會自動創建一個 Screen 對象。
當 Turtle 類的方法對應函數被調用時會自動創建一個 (匿名的) Turtle 對象。
??官方文檔非常詳細。還包括大量演示腳本。
例子
例子,畫五角星,五個。
from turtle import *
defdraw(x, y):
penup()#筆和紙分開,移動不繪畫。
goto(x ,y)
pendown()
setheading(0)for i in range(5):
forward(40)
right(144)for x in range(0, 250, 50): #range(start, stop, step)
draw(x, 0)
官方第一個例子:
from turtle import *color('red', 'yellow')
begin_fill()whileTrue:
forward(200)
left(170)if abs(pos()) < 1:breakend_fill()
done()
這里的abs(pos())為什么返回數值并和1比較?
classVec2D(tuple):def __abs__(self):return (self[0]**2 + self[1]**2)**0.5
??x^2 等同于 x**2 。
pos()返回的對象的類型:
>>>type(pos())
>>>dir(pos())
['__abs__', '__add__',...后面略
可以知道Vec2D實例對象有它自己的方法_abs_。
所以,上面的代碼當回到(0, 0)即最開始的位置時,abs(pos()) 肯定小于1。中斷循環。
總結
以上是生活随笔為你收集整理的python的标准库turtle_Python标准库: turtle--海龟绘图。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个天道酬勤的微信网名
- 下一篇: 隆鼻多少钱?