美文网首页Python
Python turtle模块一(常用API)

Python turtle模块一(常用API)

作者: 代码充电宝 | 来源:发表于2019-05-01 13:07 被阅读25次
(1)概述
  • 在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言——LOGO语言,它的特色就是通过编程指挥一个小海龟(turtle)在屏幕上绘图。
  • 海龟绘图(Turtle Graphics)后来被移植到各种高级语言中,Python内置了turtle库,基本上100%复制了原始的Turtle Graphics的所有功能。
(2)简单例子
  • 绘制长方形
# 导入turtle包的所有内容:
from turtle import *
# 设置笔刷宽度
width(4)
# 前进
forward(200)
# 右转90度
right(90)
# 笔刷颜色
pencolor('red')
forward(100)
right(90)
pencolor('green')
forward(200)
right(90)
pencolor('blue')
forward(100)
right(90)
# 调用done()使得窗口等待被关闭,否则将立刻关闭窗口:
done()
(3)画布API
  • 画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置
  • 常用的画布方法有两个:screensize()和setup()
  • turtle.screensize(canvwidth=None, canvheight=None, bg=None)
    • 参数分别为画布的宽(单位像素), 高, 背景颜色
    • 此方法实测宽高参数无效,仅背景色有效
  • turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
    • width, height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
    • (startx, starty):这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
turtle.screensize(800, 600, "green")
turtle.screensize() #返回默认大小(400, 300)
turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)
  • turtle.clear():清空turtle窗口,但是turtle的位置和状态不会改变
  • turtle.reset():清空窗口,重置turtle状态为起始状态
  • turtle.undo():撤销上一个turtle动作
  • stamp():复制当前图形
  • turtle.write(s[,font=("font-name",font_size,"font_type")])
    • 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项
turtle.write("Done", font=('Arial', 40, 'normal'))
(4)画笔控制命令
  • turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快
  • turtle.pensize(width):绘制图形时的宽度,又名turtle.width(width)
  • turtle.pencolor():画笔颜色,没有参数传入返回当前画笔颜色;传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组
  • turtle.fillcolor(colorstring):绘制图形的填充颜色
  • turtle.color(color1, color2):同时设置pencolor=color1, fillcolor=color2
  • turtle.filling():返回当前是否在填充状态
  • turtle.begin_fill():准备开始填充图形
  • turtle.end_fill():填充完成;
  • turtle.hideturtle():隐藏箭头显示;
  • turtle.showturtle():与hideturtle()函数对应
  • turtle.isvisible():返回当前turtle是否可见
# 设置画笔宽度
turtle.pensize(10)
# 设置画笔颜色方式一:字符串
turtle.pencolor('red')
# 设置画笔颜色方式一:RGB tuple
tup = (0.2,0.8,0.6)
turtle.pencolor(tup)
# 返回当前画笔颜色tuple
print(turtle.pencolor())
# 设置画笔速度
turtle.speed(0)
(5)画笔运动命令
  • turtle.forward(distance):向当前画笔方向移动distance像素长,缩写fd
  • turtle.backward(distance):向当前画笔相反方向移动distance像素长度
  • turtle.right(degree):顺时针移动degree°
  • turtle.left(degree):逆时针移动degree°
  • turtle.seth(angle):逆时针旋转angle度
  • turtle.pendown():移动时绘制图形,缺省时也为绘制,缩写turtle.pd()
  • turtle.goto(x,y):将画笔移动到坐标为x,y的位置
  • turtle.penup():移动时不绘制图形,提起笔,用于另起一个地方绘制时用,缩写turtle.pu()
  • turtle.speed(speed):画笔绘制的速度范围[0,10]整数
  • turtle.circle(radius, extent=None, steps=None):画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
    • radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆
    • extent(弧度) (optional);
    • steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)
# 一当前画笔位置为圆上一点,正上方30px为圆心画圆
turtle.circle(30)
turtle.forward(100)
# 一当前画笔位置为圆上一点,正下方30px为圆心画圆
turtle.circle(-30)
# 三角形
circle(50,steps=3) 
# 半圆
circle(120, 180) 

相关文章

网友评论

    本文标题:Python turtle模块一(常用API)

    本文链接:https://www.haomeiwen.com/subject/qoginqtx.html