【Python2】使用python中的turtle模块学习海龟绘图(有趣的python初体验)(最全最详细的turtle介绍使用)

本文详细介绍了Python中的turtle模块,用于海龟绘图。turtle是Python内置的图形绘制工具,源于1966年的LOGO语言。文章讲解了如何使用turtle库的基本操作,包括前进、转弯、画圆、颜色控制等,并通过实例展示了如何绘制各种图形,如正方形、圆形、国旗等。此外,还讨论了Tkinter的mainloop函数在图形用户界面中的作用。
摘要由CSDN通过智能技术生成

目录

海龟绘图

Python中tkinter的mainloop函数实质

turtle模块里的方法

Python绘图Turtle库详解

turtle绘图的基础知识:


海龟绘图

海龟绘图是Python中非常流行的绘图工具。1966年,西蒙·派珀特 博士发明了一种专门给儿童学习编程的语言——LOGO语言。它的特色就是通过编程指挥一只小海龟在屏幕上绘图。

而Python内置了海龟绘图模块,复制了原始的海龟绘图的所有功能。

          在下面的程序中,大家会发现一个turtle.mainloop(),在海龟绘图中最后使用此方法可以让绘图窗口不要在绘制结束后关闭

          Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中

在此文链接中有较为好理解的解释:https://blog.csdn.net/San__Qi/article/details/100568682

Python中tkinter的mainloop函数实质

正文
以下是一般大多数tkinter程序员都共有的步骤,它的代码做了以下这些事情:
1.从痛苦inter模块中加载一个组件类。
2.创建该组件类的实例为标签类
3.在父组件中打包新标签。
4.调用主循环,显示窗口,同时开始tkinter的事件循环。
mainloop方法最后执行,将标签显示在屏幕,进入等待状态(注:若组件未打包,则不会在窗口中显示),准备响应用户发起的GUI事件。在mainloop函数中,tkinter内部会监控这些事件,如键盘活动,鼠标单击等。事实上,tkinter的mainloop函数与下面的Python伪代码实质是一样的:

def mainloop():
    while the main window has not been closed:
        if an event has occurred:
            run the associated event handler function


由于这个事件模型,只要GUI还在屏幕上,mainloop调用就不会返回执行代码。当我们写大型代码时,调用mainloop后唯一的做法就是注册调用管理器来响应事件。直到满足终止条件时,调用Tk()实例中的quit来打断mainloop的执行。事实上sys.exit函数也可以用来退出GUI,它通过抛出一个异常进而退出程序,该异常是可以进行捕获的(千万不要采用os._exit方法,它同样可以退出整个程序,但它不会执行清理动作,并且它不能被捕获)。窗口(如Tk根窗口,TopLevel实例)中的destroy函数也可以用来关闭GUI,不过我们通常不采用该方法,但它与quit函数不同,当程序中有多个Tk根窗口时,destroy只有在最后一个根窗口被关闭后才会退出GUI。

当然,在mainloop中我们也可以对这些事件进行过滤等操作,不过这与本文无太大关联。

总结自《Python编程》第四版----O’REILLY著。

turtle模块里的方法

  • 导入模块

    在Python中使用模块的时候需要先导入,例如使用海龟绘图的时候就需要import turtle来进行导入

  • ’召唤‘海龟

    海龟绘图中小海龟(画笔)的初始形状是一个箭头,我们可以使用turtle里面的shape方法来改变它的形状。

    import turtle
    
    turtle.shape('turtle')


    这样就把它的形状变成了一只小乌龟。
    其他的形状还有:“arrow”, “circle”, “square”, “triangle”, “classic”

  • 前进  forward

    使用forward方法来控制小海龟朝面向的方向前进

    import turtle
    turtle.shape('turtle')
    turtle.forward(100)

  • 画圆 circle  ,用法turtle.circle(50,180)  50是圆的半径,180是圆的弧度,一整个圆的默认弧度是360

    使用circle方法来命令小海龟绘制圆形
     

    import turtle
    turtle.shape('turtle')
    turtle.circle(50)
    turtle.done()

    其中circle后面括号里的数字为圆的半径大小,单位为像素

  • 转弯 left

    使用left方法可以控制小海龟朝左边转向

    import turtle
    turtle.shape('turtle')
    turtle.left(45)
    turtle.forward(100)

    这段代码就可以控制小海龟先朝左边转45度,再前进绘制直线。

  • 使用一个变量t代替画笔
     

    import turtle
    t=turtle.Pen() #使用一个变量t来作为画笔,注意Pen的P是大写的
    t.forward(100)
    turtle.done()

  • 绘制正方形

    import turtle
    turtle.shape('turtle')
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.mainloop()

  • 绘制雪人

    import turtle
    turtle.shape('turtle')
    turtle.circle(50)
    turtle.left(180)
    turtle.circle(100)
    turtle.mainloop()

  • forward前进 -- backward后退

    import turtle
    turtle.shape('
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值