Python繪圖之turtle庫的基礎(chǔ)語法使用
前言
Python語言的turtle庫是一個(gè)直觀有趣的圖形繪制函數(shù)庫,是python語言標(biāo)準(zhǔn)庫之一。
turtle庫也叫海龜庫,是turtle繪圖體系的Python實(shí)現(xiàn)。turtle庫是Python語言的標(biāo)準(zhǔn)庫之一,是入門級(jí)的圖形繪制函數(shù)庫。
turtle繪圖體系:也叫海龜繪圖系統(tǒng),它是在1969年誕生,主要用于程序設(shè)計(jì)入門的一種繪圖方式。
Python計(jì)算生態(tài) = 標(biāo)準(zhǔn)庫 + 第三方庫
標(biāo)準(zhǔn)庫:隨解釋器直接安裝到操作系統(tǒng)中的功能模塊。
第三方庫:需要經(jīng)過安裝才能使用的功能模塊。
turtle官方文檔:https://docs.python.org/3/library/turtle.html
turtle庫的繪圖原理是在一個(gè)橫軸為x、縱軸為y的坐標(biāo)平面中,以原點(diǎn)(0,0)位置為開始點(diǎn),根據(jù)一組函數(shù)指令的控制來移動(dòng),從而在它爬行的路徑上繪制圖形。
一、turtle庫的導(dǎo)入
方法一:import turtle
方法二:import turtle as t
方法三:from turtle import *
二、繪圖命令介紹
1. 畫布屬性設(shè)置
語法 | 含義 |
turtle.screensize(width,height,bg) | 設(shè)置畫布的寬、高、背景顏色 |
turtle.setup(width,height,startx,starty) | 設(shè)置畫布顯示窗口的大小、位置,前兩個(gè)參數(shù)為窗口大小,后兩個(gè)參數(shù)為起始點(diǎn)位置 |
2. 畫筆屬性設(shè)置
語法 | 含義 |
turtle.pensize(width) | 設(shè)置當(dāng)前畫筆線條的寬度為width像素 |
turtle.colormode(1.0[255]) | 設(shè)置畫筆顏色模式 |
turtle.pencolor(colorstring) | 設(shè)置畫筆的顏色,參數(shù)colorstring可以是"green"、"red"、"blue"、“yellow”等英文字符串 |
turtle.speed(5) | 設(shè)置畫筆的移動(dòng)速度,畫筆繪制的速度范圍在[0,10]整數(shù)之間,數(shù)字越大,畫筆移動(dòng)的速度越快。 |
3. 移動(dòng)畫筆和轉(zhuǎn)角繪圖
語法 | 含義 |
turtle.penup()/pu()/up() | 提起畫筆,不繪圖 |
turtle.pendown()/pd()/down() | 畫筆移動(dòng)時(shí)繪制圖形 |
turtle.forward(100)/fd(100) | 畫筆向當(dāng)前方向移動(dòng)100像素距離 |
turtle.backward(100)/bk(100) | 畫筆向相反方向移動(dòng)100像素距離 |
turtle.right(45)/rt(45) | 畫筆順時(shí)針移動(dòng)45度 |
turtle.left(45)/lt(45) | 畫筆逆時(shí)針移動(dòng)45度 |
turtle.setheading(45)/seth(45) | 設(shè)置當(dāng)前畫筆朝向?yàn)?5度 |
turtle.goto(x,y) | 移動(dòng)畫筆到指定坐標(biāo)位置 |
turtle.hideturtle() | 隱藏畫筆turtle形狀 |
turtle.showturtle() | 顯示畫筆turtle形狀 |
實(shí)例代碼
# coding:utf8 import turtle as t t.setup(500, 500) # 設(shè)置畫布大小 t.reset() # 清空窗口 t.pensize(4) # 設(shè)置畫筆大小為4 # 繪制外層正方形 t.penup() # 提起畫筆 t.pencolor("red") # 設(shè)置畫筆顏色 t.goto(-200, -200) # 設(shè)置外層正方形起點(diǎn)坐標(biāo) t.pendown() t.forward(400) # 外層正方形邊長(zhǎng)為400像素 t.left(90) t.forward(400) t.left(90) t.forward(400) t.left(90) t.forward(400) # 繪制中間正方形 t.penup() t.pencolor("yellow") t.goto(-150, -150) # 中間正方形起點(diǎn)坐標(biāo) t.pendown() t.seth(0) # 重新設(shè)定畫筆角度為0° t.forward(300) t.left(90) t.forward(300) t.left(90) t.forward(300) t.left(90) t.forward(300) # 繪制內(nèi)層中方形 t.penup() t.pencolor("blue") t.goto(-100, -100) # 內(nèi)層正方形起點(diǎn)坐標(biāo) t.pendown() t.seth(0) t.forward(200) t.left(90) t.forward(200) t.left(90) t.forward(200) t.left(90) t.forward(200) t.done()
4. 圖形繪制與圖形填充
語法 | 含義 |
turtle.circle(5,[extent,steps]) | 繪制半徑為5的圓形 |
turtle.color(pencolor,fillcolor) | 同時(shí)設(shè)置畫筆顏色(邊框顏色)和填充顏色 |
turtle.begin_fill() | 以當(dāng)前為起點(diǎn),開始填充顏色 |
turtle.end_fill() | 以當(dāng)前為終點(diǎn),結(jié)束填充圖形 |
turtle.done() | 繪圖結(jié)束后,保留窗口 |
代碼實(shí)例
# coding:utf8 import turtle turtle.setup(500, 500) turtle.reset() turtle.pensize(5) turtle.penup() turtle.goto(0, -200) turtle.pendown() # 繪制紅邊框藍(lán)填充顏色的大圓 turtle.color("red", "blue") turtle.begin_fill() turtle.circle(200) turtle.end_fill() # 繪制紅邊框綠填充顏色的大圓 turtle.color("red", "green") turtle.begin_fill() turtle.circle(150) turtle.end_fill() # 繪制紅邊框黃填充顏色的大圓 turtle.color("red", "yellow") turtle.begin_fill() turtle.circle(100) turtle.end_fill() turtle.done()
三、turtle繪圖實(shí)例:繪制太陽花
import turtle as t # 導(dǎo)入Turtle庫,并指定導(dǎo)入庫的別名為t t.color("red", "yellow") # 同時(shí)設(shè)置pencolor=red, fillcolor=yellow t.speed(10) # 設(shè)置畫筆繪制的速度為10 t.begin_fill() # 準(zhǔn)備開始填充圖形 for x in range(50): # 利用for循環(huán)繪制太陽花 t.forward(200) # 向當(dāng)前畫筆方向移動(dòng)200像素 t.left(170) # 逆時(shí)針旋轉(zhuǎn)170度 t.end_fill() # 填充完成 t.done() # 繪制完成后窗口不退出
總結(jié)
到此這篇關(guān)于Python繪圖之turtle庫基礎(chǔ)語法使用的文章就介紹到這了,更多相關(guān)Python繪圖turtle庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用turtle庫繪制奧運(yùn)五環(huán)
turtle也叫海龜,是turtle繪圖體系的python實(shí)現(xiàn),這篇文章主要介紹了python使用turtle庫繪制奧運(yùn)五環(huán),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-02-02Pygame實(shí)戰(zhàn)之迷宮游戲的實(shí)現(xiàn)
玩迷宮游戲長(zhǎng)大的我們,欣慰地看到,下一代仍熱愛著這個(gè)經(jīng)典游戲。本文將通過Python中的Pygame庫制作這一經(jīng)典的游戲,需要的可以參考一下2022-02-02使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程
這篇文章主要介紹了使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程,包括設(shè)置斷點(diǎn)來修改代碼等、對(duì)于Python團(tuán)隊(duì)項(xiàng)目工作有一定幫助,需要的朋友可以參考下2015-03-03Python實(shí)現(xiàn)可自定義大小的截屏功能
這篇文章主要介紹了Python實(shí)現(xiàn)可自定義大小的截屏功能,結(jié)合實(shí)例形式分析了Python針對(duì)指定范圍的截圖、保存等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01Python中splitlines()方法的使用簡(jiǎn)介
這篇文章主要介紹了Python中splitlines()方法的使用簡(jiǎn)介,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05Pandas DataFrame實(shí)現(xiàn)任意位置插入一列或一行
Pandas是Python中最流行的數(shù)據(jù)處理和分析庫之一,在數(shù)據(jù)分析過程中,有時(shí)候需要在Dataframe中插入新的數(shù)據(jù)列,本文主要介紹了Pandas DataFrame實(shí)現(xiàn)任意位置插入一列或一行,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08python+selenium自動(dòng)化實(shí)戰(zhàn)攜帶cookies模擬登陸微博
這篇文章主要介紹了python+selenium自動(dòng)化實(shí)戰(zhàn)攜帶cookies模擬登陸微博,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Pygame框架實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了Pygame框架實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08