Python海龟绘图之画笔属性

在海龟绘图中,可以通过pensize()、pencolor()等函数设置画笔的粗细和颜色等属性。但是,以上提到的函数一次只能设置画笔的一个属性。可以通过pen()函数批量获取和设置海龟的多个属性。

1 海龟属性的获取

通过图1所示的代码获取海龟画笔的属性。

图1 获取海龟画笔属性的代码

其中,第3行代码通过pen()函数获取海龟画笔的属性,该属性以字典的方式保存在变量state中。代码运行的效果如图2所示。

图2 代码运行效果

图2中所示的海龟属性,可参考表1。

表1 海龟属性

编号

属性

属性含义

取值

单独设置该属性用到的函数

1

shown

海龟是否可见

True可见,False不可见

showturtle()、hideturtle()

2

pendown

画笔是否落下

True落下,False抬起

penup()、pendown()

3

pencolor

画笔颜色

字符串或RGB元组

pencolor()、color()

4

fillcolor

填充颜色

字符串或RGB元组

fillcolor()、color()

5

pensize

画笔粗细

整型

pensize()

6

speed

绘画速度

整型,0-10

speed()

7

resizemode

海龟形状的缩放模式

'noresize' 不缩放
'auto' 随笔大小自动
'user' 用户自定义

resizemode()

8

stretchfactor

形状的拉伸因子

浮点型,宽度因子和高度因子

turtlesize()

shapesize()

9

shearfactor

剪切因子

浮点数

shearfactor()

10

outline

海龟形状轮廓的宽度

整型

turtlesize()

11

tilt

海龟形状的倾斜角度

浮点数,度数

tilt()、settiltangle()

2 海龟属性的设置

通过pen()函数,以关键字参数或者字典的方式,批量设置海龟多个属性。

2.1 以关键字参数的方式设置

以关键字参数的方式设置海龟多个属性的代码,如图3所示。

图3 以关键字参数的方式设置海龟多个属性的代码

其中,第3行代码通过pen()函数批量设置了海龟的画笔颜色、画笔粗细以及水平和垂直的拉伸因子。代码运行的效果如图4所示。

图4 代码运行效果

2.2 以字典参数的方式设置

以字典参数的方式设置海龟多个属性的代码,如图5所示。

图5 以字典参数的方式设置海龟多个属性的代码

其中,第3行代码定义了海龟画笔属性的字典。以上代码运行的效果与图4相同。

3 小结

海龟绘图的pen()函数可以批量获取和设置海龟画笔的属性。当pen()函数不包含参数是,其作用是以字典的形式获取海龟画笔的属性。通过pen()设置海龟画笔属性时,可以使用关键字参数或字典。