【Python】Python基本圖形繪製------turtle庫的使用-turtle程式語法元素分析

2020-08-08 13:43:21

Python蟒蛇繪製

#PythonDraw. py
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown( )
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40 * 2/3)
turtle.done()
  • import 保留字引入一個繪相簿 turtle
  • turtle.done 程式執行之後不會退出,需要手工關閉表單
    在这里插入图片描述

turtle庫的使用

turtle庫概述

turtle(海龜)庫是turtle繪圖體系的Python實現

  • turtle繪圖體系: 1969年誕生,主要用於程式設計入門
  • Python語言的標準庫之一
  • 入門級的圖形繪製函數庫

標準庫

Python計算生態=標準庫+第三方庫

  • 標準庫:隨直譯器直接安裝到操作系統中的功能模組
  • 第三方庫:需要經過安裝才能 纔能使用的功能模組
  • 庫Library、包Package、 模組Module ,統稱模組

turtle的繪圖表單

turtle.setup(width, height, startx, starty)
  • setup()設定表單大小及位置
  • 4個參數中後兩個可選
  • setup()不是必須的

在这里插入图片描述
在这里插入图片描述

turtle空間座標體系

絕對座標

turtle.goto(x,y)

在这里插入图片描述

海龜座標

  • fd 正前方向執行
  • bk 反方向執行
  • circle 以海龜當前位置左側的某一點爲圓心進行曲線執行
    在这里插入图片描述

turtle角度座標體系

絕對角度

在这里插入图片描述

海龜角度

在这里插入图片描述

RGB色彩模式

由三種顏色構成的萬物色

  • RGB指紅藍綠三個通道的顏色組合
  • 覆蓋視力所能感知的所有顏色
  • RGB每色取值範圍0-255整數或0-1小數
    在这里插入图片描述
    在这里插入图片描述
    預設採用小數值可切換爲整數值
turtle. colormode (mode)
  • 1.0: RGB小數值模式
  • 255: RGB整數值模式

turtle程式語法元素分析

庫參照

擴充Python程式功能的方式

  1. 使用import保留字完成,採用<a>.<b>()編碼風格
import <庫名>
<庫名>.<函數名>(<函數參數>)
  1. 使用 from 和 import 保留字共同完成
from <庫名> import <函數名>
from <庫名> import*
<函數名>(<函數參數>)

兩種方法比較

  • 第一種方法不會出現函數重名問題
  1. 使用 import 和 as 保留字共同完成
import <庫名> as <庫別名>
<庫別名>.<函數名>(<函數參數>)
  • 給呼叫的外部庫關聯一 個更短、更適合自己的名字

turtle畫筆控制函數

畫筆操作後一直有效, 一般成對出現

  • turtle.penup() 別名 turtle.pu()
    擡起畫筆,海龜在飛行
  • turtle.pendown() 別名 turtle.pd()
    落下畫筆,海龜在爬行

畫筆設定後一直有效,直至下次重新設定

  • turtle.pensize(width) 別名 turtle.width(width)
    畫筆寬度,海龜的腰圍
  • turtle.pencolor(color) color爲顏色字串或r,g,b值
    畫筆顏色,海龜在塗裝

pencolor(color)的color參數可以有三種形式

  • 顏色字串: turtle.pencolor("purple")
  • RGB的小數值: turtle.pencolor(0.63, 0.13, 0.94)
  • RGB的元組值: turtle.pencolor((0.63,0.13,0.94))

turtle運動控制函數

控制海龜行進:走直線&走曲線

  1. turtle.forward(d) 別名 turtle.fd(d)
    向前行進,海龜走直線
  • d: 行進距離,可以爲負數,單位爲畫素
  1. turtle.circle(r,extent=None)
    根據半徑r繪製extent角度的弧形
  • r: 預設圓心在海龜左側r距離的位置,負數則在右側
  • extent: 繪製角度,預設是360度整圓

turtle方向控制函數

控制海龜面對方向:絕對角度&海龜角度
只改變方向,不行進

  1. turtle.setheading(angle) 別名 turtle.seth(angle)
    改變行進方向,海龜走角度
  • angle:改變行進方向,海龜走角度
  1. turtle.left(angle) 海龜向左轉
    turtle.right(angle) 海龜向右轉
  • angle:在海龜當前行進方向上旋轉的角度

回圈語句與rang()函數

回圈語句

按照-定次數回圈執行一組語句

for <變數> in range(<參數>)
<被回圈執行的語句>
  • <變數>表示每次回圈的計數,0到<次數>-1
    在这里插入图片描述
  • hello冒號和數位之間有了一個空格,print中間加逗號的作用

range()函數

產生回圈計數序列

  • range (N)
    產生0到N-1的整數序列,共N個
  • range(M,N)
    產生M到N-1的整數序列,共N-M個