这两天学了turtle库,来做个简单的笔记,通过turtle的学习,对python的循环、函数定义等语法也加深了理解。
目的:掌握turtle库的基本操作逻辑和一些状态函数的使用。
注:文中一些图片和代码参考了黎明老师(公众号:see_goal)写过的教程内容,特此感谢。
一、turtle空间坐标体系
坐标系是绘图的基础,决定落笔的位置。两个坐标系切换方式:
# 切换坐标、角度系统 # mode('standard') mode('logo')
二、turtle的画图方式
画图方式和正常画图方式类似,主要就是落笔、抬笔,在其中包括各种设置:
1、选择一个落笔的点;2、设置笔的粗细和颜色(不设置就是系统默认);3、设置笔画的方向和长度;
4、有弧度的话再设置转弯角度;5、设置图形的填充颜色。
三、for循环和def函数
1、for循环
有些图形在绘制过程中会出现一些重复的语句,所以需要用循环语句,这样才能精简程序。
例子:
2、def函数
在Python中可以使用def定义一个函数,函数定义好以后,只要调用这个函数名,就可以执行函数体内的代码内容。尤其在复杂的图形中,定义多个def函数非常方便。
例子:
定义好drawRect()函数以后,下次直接调用现成的函数就行了。
四、画曲线
之前举的例子都是画直线,画曲线涉及turtle.circle()函数,下面这个是一条弯弯曲曲的小绿蛇。画图写代码的时候要考虑每一步的前后逻辑,比如先起笔---确定起始点---设置画笔属性(颜色、粗细、方向等)---落笔---画笔方向等。
五、其他
1、默认是落笔状态,不写 turtle.penup() 的话,当使用 t.goto()时,就会直接画出一条直线;
2、在程序结尾必须加上 turtle.mainloop() 或t urtle.done();