美文网首页Python
Python turtle模块一(常用API)

Python turtle模块一(常用API)

作者: 代码充电宝 | 来源:发表于2019-05-01 13:07 被阅读25次
    (1)概述
    • 在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言——LOGO语言,它的特色就是通过编程指挥一个小海龟(turtle)在屏幕上绘图。
    • 海龟绘图(Turtle Graphics)后来被移植到各种高级语言中,Python内置了turtle库,基本上100%复制了原始的Turtle Graphics的所有功能。
    (2)简单例子
    • 绘制长方形
    # 导入turtle包的所有内容:
    from turtle import *
    # 设置笔刷宽度
    width(4)
    # 前进
    forward(200)
    # 右转90度
    right(90)
    # 笔刷颜色
    pencolor('red')
    forward(100)
    right(90)
    pencolor('green')
    forward(200)
    right(90)
    pencolor('blue')
    forward(100)
    right(90)
    # 调用done()使得窗口等待被关闭,否则将立刻关闭窗口:
    done()
    
    (3)画布API
    • 画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置
    • 常用的画布方法有两个:screensize()和setup()
    • turtle.screensize(canvwidth=None, canvheight=None, bg=None)
      • 参数分别为画布的宽(单位像素), 高, 背景颜色
      • 此方法实测宽高参数无效,仅背景色有效
    • turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
      • width, height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
      • (startx, starty):这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
    turtle.screensize(800, 600, "green")
    turtle.screensize() #返回默认大小(400, 300)
    turtle.setup(width=0.6, height=0.6)
    turtle.setup(width=800, height=800, startx=100, starty=100)
    
    • turtle.clear():清空turtle窗口,但是turtle的位置和状态不会改变
    • turtle.reset():清空窗口,重置turtle状态为起始状态
    • turtle.undo():撤销上一个turtle动作
    • stamp():复制当前图形
    • turtle.write(s[,font=("font-name",font_size,"font_type")])
      • 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项
    turtle.write("Done", font=('Arial', 40, 'normal'))
    
    (4)画笔控制命令
    • turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快
    • turtle.pensize(width):绘制图形时的宽度,又名turtle.width(width)
    • turtle.pencolor():画笔颜色,没有参数传入返回当前画笔颜色;传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组
    • turtle.fillcolor(colorstring):绘制图形的填充颜色
    • turtle.color(color1, color2):同时设置pencolor=color1, fillcolor=color2
    • turtle.filling():返回当前是否在填充状态
    • turtle.begin_fill():准备开始填充图形
    • turtle.end_fill():填充完成;
    • turtle.hideturtle():隐藏箭头显示;
    • turtle.showturtle():与hideturtle()函数对应
    • turtle.isvisible():返回当前turtle是否可见
    # 设置画笔宽度
    turtle.pensize(10)
    # 设置画笔颜色方式一:字符串
    turtle.pencolor('red')
    # 设置画笔颜色方式一:RGB tuple
    tup = (0.2,0.8,0.6)
    turtle.pencolor(tup)
    # 返回当前画笔颜色tuple
    print(turtle.pencolor())
    # 设置画笔速度
    turtle.speed(0)
    
    (5)画笔运动命令
    • turtle.forward(distance):向当前画笔方向移动distance像素长,缩写fd
    • turtle.backward(distance):向当前画笔相反方向移动distance像素长度
    • turtle.right(degree):顺时针移动degree°
    • turtle.left(degree):逆时针移动degree°
    • turtle.seth(angle):逆时针旋转angle度
    • turtle.pendown():移动时绘制图形,缺省时也为绘制,缩写turtle.pd()
    • turtle.goto(x,y):将画笔移动到坐标为x,y的位置
    • turtle.penup():移动时不绘制图形,提起笔,用于另起一个地方绘制时用,缩写turtle.pu()
    • turtle.speed(speed):画笔绘制的速度范围[0,10]整数
    • turtle.circle(radius, extent=None, steps=None):画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
      • radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆
      • extent(弧度) (optional);
      • steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)
    # 一当前画笔位置为圆上一点,正上方30px为圆心画圆
    turtle.circle(30)
    turtle.forward(100)
    # 一当前画笔位置为圆上一点,正下方30px为圆心画圆
    turtle.circle(-30)
    # 三角形
    circle(50,steps=3) 
    # 半圆
    circle(120, 180) 
    

    相关文章

      网友评论

        本文标题:Python turtle模块一(常用API)

        本文链接:https://www.haomeiwen.com/subject/qoginqtx.html