目录
前言
python之所以受到欢迎,其中之一是因为他拥有许多自带模块,第三方模块,以及不断出现的新模块,避免了不断重复“造轮子”
turtle是python内置的一个用来绘制图形的模块,他很容易学习和使用,许多初学者喜欢通过图形来学习,所以本篇来讲解turtle模块,当然,本篇可以跳过或者以后再来学习
绘制一个填充颜色的封闭图形
首先我们在使用模块之前,需要导入模块,输入以下代码来导入模块
import turtle
然后输入以下代码用来显示turtle和方向
import turtle
turtle.showturtle()
但是窗口一闪而过了,所以输入以下代码来保持turtle悬停,防止窗口自动关闭
import turtle
turtle.showturtle()
turtle.done()
如果觉得窗口过大或过小,可以通过turtle.screensize()来设置窗口大小
例如,将窗口设为1000*1000大小
import turtle
turtle.showturtle()
turtle.screensize(1000,1000)
turtle.done()
绘制字符串
输入下面代码可以绘制一个字符串
import turtle
turtle.showturtle()
turtle.screensize(1000,1000)
turtle.write("666 666 666")
turtle.done()
绘制直线和改变颜色
我们可以使用 turtle.forward() 来绘制直线
turtle.forward(100)
并通过以下函数来左转和右转去改变方向
turtle.right(90)#右转90°
tuetle,left(90)#左转90°
我们可以重复四次绘制一个正方形
import turtle
turtle.showturtle()
turtle.screensize(1000,1000)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.done()
虽然现在看起来有些复杂但之后学习了循环就可以简化了
通过turtle.color("颜色")来改变线条颜色
或者turtle.color(r,g,b),rgb分别填不同的数字,通过它们相互之间的叠加来得到各式各样的颜色的
例如
turtle.color("red")
turtle.color(1,2,3)
图形绘制
当turtle模块启动时,箭头在中间出现,即坐标点(0,0),可以使用goto(x,y)来位移到特定的点
例如
turtle.goto(0,666)
但是我们发现在位移中会出现一条直线,所以我们要通过抬笔和落笔的方式来避免直线例如
turtle.penup()
turtle.goto(0,50)
turtle.pendown()
还以使用circle 函数绘制一个圆
例如
turtle.circle(100) # 绘制一个半径100的园
我们可以通过
pen.hideturtle()隐藏画笔
pen = turtle.Turtle()将画笔定义为pen
pen.width(5)设置画笔宽度
来绘制一个奥运五环图案
import turtle
# 设置画布大小
turtle.setup(width=600, height=400)
# 创建画笔对象
pen = turtle.Turtle()
# 设置画笔宽度
pen.width(5)
# 设置画笔颜色
pen.color("blue")
# 绘制第一个圆
pen.penup()
pen.goto(-110, -50)
pen.pendown()
pen.circle(50)
# 设置画笔颜色
pen.color("black")
# 绘制第二个圆
pen.penup()
pen.goto(0, -50)
pen.pendown()
pen.circle(50)
# 设置画笔颜色
pen.color("red")
# 绘制第三个圆
pen.penup()
pen.goto(110, -50)
pen.pendown()
pen.circle(50)
# 设置画笔颜色
pen.color("yellow")
# 绘制第四个圆
pen.penup()
pen.goto(-55, -100)
pen.pendown()
pen.circle(50)
# 设置画笔颜色
pen.color("green")
# 绘制第五个圆
pen.penup()
pen.goto(55, -100)
pen.pendown()
pen.circle(50)
# 隐藏画笔
pen.hideturtle()
# 点击关闭窗口退出
turtle.done()
你可以通过speed() 来改变绘制速度0最快,10最慢
颜色填充
你可以使用begin_fill()
和end_fill()
方法,在调用begin_fill()
之后开始绘制形状,然后在完成绘制后调用end_fill()
来填充形状的颜色,以及fillcolor(){和color()函数一样的方法} 改变填充颜色
例如
import turtle
# 创建画布
turtle.setup(width=600, height=400)
# 创建画笔对象
pen = turtle.Turtle()
# 设置画笔填充颜色为蓝色
pen.fillcolor("blue")
# 开始填充
pen.begin_fill()
# 绘制一个正方形
for _ in range(4):
pen.forward(100)
pen.right(90)
# 结束填充
pen.end_fill()
# 隐藏画笔
pen.hideturtle()
# 点击关闭窗口退出
turtle.done()
for循环后面将会讲解,可用4次转向加绘制直线代替for循环
更多turtle模块使用方法可以查询官方文档