# PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80 / 2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2 / 3)
turtle.done()
运行图
turtle库:海归库,Python标准库之一,入门级绘图库。
Python计算生态由以下两部分构成:
库Libarary,包Package,模块Module统称为模块。
该模块可以理解为在窗体中心有一只海龟,通过控制它进行移动,其移动的轨迹便是绘出的图形吗,可以对它的颜色宽度等进行控制。
turtle.setup(width,height,startx,starty)用于建立起显示绘图的窗体。
以屏幕的左上角为起点,由(startx,starty)来确定窗体左上角的位置,再将窗体的左上角位置固定不动并作为起点,利用(width,height)来确定窗口的大小。该函数后两个参数为可选参数且该函数也不是必须要有的函数。
RGB指红绿蓝三个通道的颜色组合。每个颜色的取值范围为哦0到255的整数或0到1的小数。
常用RGB色彩:
turtle库默认使用RGB的小数表示。
turtle.colormode(mode)。若mode=1,则采用小数表示,若mode=255,则采用整数表示。
库引用和import:库引用是python扩展功能的一种方式,使用保留字import完成,采用.()
的编码风格,即<库名>.<函数名>.(<函数参数>)的形式。
使用import和from共同完成:如from <库名> import <函数名>,from <库名> import ,此处import和 之间有无空格均可。使用from <库名> import的方式引入库时,对函数的调用可以省略掉<库名>.*的部分,如turtle.right(45)可以写成right(45)。这种写法虽然方便,但有可能出现函数重名的情况。
使用import和as共同完成:使用import turtle as t的方式,turtle为库名,t为库别名,调用函数时可用库别名代替掉库名进行使用,如可将tuetle.right(45)写成t.right(45)的形式,这种方法不仅方便,且避免了函数重名的情况。
turtle的画笔控制函数:penup、pendown、pensize、pencolor等。画笔操作后一直有效,一般成对出现。
turtle.penup()别名turtle.pu(),即抬起画笔,此后海龟的运动轨迹不会绘制在画布上。
turtle.pendown()别名turtle.pd(),即放下画笔,此后海龟的运动轨迹会绘制在画布上。
turtle.pensize(width)别名turtle.width(width),用于控制画笔的粗细。
turtle.pencolor(color)用于控制画笔的颜色,color为颜色字符串或r,g,b值。color有三种形式(以紫色为例):
运动控制函数:turtle.forward(d)别名turtle.fd(d),控制海龟前进,d为距离,可为负数。
方向控制函数:turtle.setheading(angle)别名turtle.seth(angle)。
turtle.done()函数:在文件式的描写方法中,使用该函数作为程序的末尾,程序运行后不会退出,需要手动关闭窗口退出。若希望程序运行后自动退出,去掉最后一行即可。
turtle.undo()用于撤销海龟的上一步操作。
turtle.reset()用于清空turtle窗口,并重置turtle位置和状态。
turtle.clear()用于清空turtle窗口,但不改变turtle位置和状态。
turtle.circle(radius,extent=None,steps=None):radius为半径,extent为画出弧线的圆心角大小,steps控制从起点到终点的直线步数,如turtle.circle(30,steps=50)可以绘出一个正五边形图案。
循环语句与range函数:
for <变量> in range(<参数>):
<被循环执行的语句>
<变量>为每次循环的计数,0到<参数>-1。
range()函数:一般有两种形式