Python全栈学习笔记(第一篇:探索标准库中的turtle库)
#turtle库#Python#Python绘制奥运五环
目录
一.什么是turtle库
二.turtle库的使用
1.导入模块:
2.设置绘图窗口
3.空间坐标体系
4.角度坐标体系
5.画笔设置
6.其他常用函数
三.示例代码
一.什么是turtle库
简单来说turtle库是Python里面的一个基础绘图库。
二.turtle库的使用
1.导入模块:
import turtle
2.设置绘图窗口
setup(width=800, height=600, startx=100, starty=100)
:用于设置绘图窗口的大小和位置。其中,width
和height
表示窗口的宽度和高度,可以是整数(表示像素数)或小于 1 的小数(表示与屏幕的比例);startx
和starty
表示窗口左上角在屏幕上的坐标(可选,默认为屏幕中心)
title("奥运五环")
:设置绘图窗口的标题。
以下是在pycharm的演示代码:
turtle.setup(800,600,100,100)
turtle.title("奥运五环")
3.空间坐标体系
坐标系原点:海龟初始位置为原点(0, 0)
,即屏幕中心。可以使用turtle.penup()
抬起画笔,然后通过turtle.goto(x, y)
将海龟移动到特定坐标位置。x
轴和y
轴:x
轴正方向向右,y
轴正方向向上。可使用turtle.setx(x)
和turtle.sety(y)
将海龟移到指定的x
或y
坐标上。
在此解释一下penup和pendown:
以如下代码为例
turtle.penup():这行代码将海龟的画笔抬起,此时海龟移动不会留下痕迹。
turtle.goto(-80, 0):让海龟移动到坐标 (-80, 0) 处。其中,-80 是横坐标,0 是纵坐标。
turtle.pendown():放下画笔,接下来海龟的移动将能够绘制图形。
turtle.color("blue"):将画笔的颜色设置为蓝色。
turtle.circle(50):以当前海龟的位置为中心,绘制一个半径为 50 个单位的圆。
如果我们把整个绘图区域想象成一张纸,一开始海龟在某个位置,执行 penup
就相当于把笔从纸上抬起来,然后移动到 (-80, 0)
,再执行pendown放下笔,把颜色设置成蓝色,最后画出一个蓝色的半径为 50 的圆。
先把初始海龟放到你想要绘图的位置(执行penup,goto,pendown代码),再换颜色,换画笔粗细绘图。所以pendown应该紧接着goto出现而不是在设置要绘制的图形后面。
4.角度坐标体系
turtle.setheading(angle)
:设置海龟的方向,其中angle
是角度值,如 90 度表示向上。turtle.left(angle)
或turtle.right(angle)
:让海龟向左或向右转动指定的角度。turtle.forward(distance)
:让海龟向当前方向前进指定的距离。turtle.backward(distance)
:让海龟向当前方向后退指定的距离。turtle.circle(radius, angle)
:绘制圆弧,radius
为半径,angle
为绘制的角度(可选,默认为 360 度,即完整的圆)。正值表示逆时针绘制,负值表示顺时针绘制。5.画笔设置
pensize(2)
:设置画笔的宽度。(也可以turtle.width(2))colormode(255)
:用于设置颜色模式为rgb
整数模式(不加的话默认为小数表示),之后可以使用(r, g, b)
形式的元组来设置画笔颜色,其中r
、g
、b
分别代表红、绿、蓝三种颜色的强度,取值范围为 0 到 255。pencolor(color)
:设置画笔颜色。(也可以用turtle.color(“red”)等)6.其他常用函数
done()
:保持绘图窗口的显示,防止图形绘制完成后窗口自动关闭。clear()
:清空窗口,但海龟的位置和状态不变。reset()
:清空窗口,并重置海龟状态为起始状态。undo()
:撤销上一个绘图动作。isvisible()
:返回当前海龟是否可见。fillcolor(color)
:设置图形的填充颜色。begin_fill()
:开始填充图形。end_fill()
:结束填充图形。hideturtle()
:隐藏画笔的海龟形状。showturtle()
:显示画笔的海龟形状。dot(d, color)
:绘制一个指定直径d
和颜色(可选)的圆点。write(x, font=("name", size, "type"))
:写出文本,x
为文本内容,font
参数指定字体名称、大小和类型。三.示例代码
奥运五环
import turtle
turtle.setup(800,600,100,100)
turtle.title("奥运五环")
turtle.width(10)
turtle.color("blue")
turtle.circle(50)
#绘制第一个圆
turtle.penup()
turtle.goto(120,0)
turtle.pendown()
turtle.color("black")
turtle.circle(50)
#绘制第二个圆
turtle.penup()
turtle.goto(240,0)
turtle.pendown()
turtle.color("red")
turtle.circle(50)
#绘制第三个圆
turtle.penup()
turtle.goto(70,-50)
turtle.pendown()
turtle.color("yellow")
turtle.circle(50)
#绘制第四个圆圈
turtle.penup()
turtle.goto(190,-50)
turtle.pendown()
turtle.color("green")
turtle.circle(50)
#执行结束后保持窗口
turtle.done()
作者:大数据小学僧(三天一更)