Python3 turtle库让海龟快起来的几种方法

使用turtle库绘制一些大型的图案时,作画时间有可能超出我们的忍耐区间。下面就介绍3个加速作图速度的方法,当中有些个人理解错误,请各位大佬指出。

方法一

turtle.speed(0)

官方文档中指出:speed()可以指定0-10之间的整数,数值越大,作图速度越快。当给定值大于10或者小于0.5,则统一设置为0
文档中也指出:当输入的参数为0时,就没有动画产生。(但是我怎么测试都感觉有动画,只不过是真的快了很多)

官方文档:

speed(speed=None)
Return or set the turtle’s speed.
Optional argument:
speed – an integer in the range 0…10 or a speedstring (see below)
Set the turtle’s speed to an integer value in the range 0 … 10.
If no argument is given: return current speed.
If input is a number greater than 10 or smaller than 0.5,
speed is set to 0.
Speedstrings are mapped to speedvalues in the following way:
‘fastest’ : 0
‘fast’ : 10
‘normal’ : 6
‘slow’ : 3
‘slowest’ : 1
speeds from 1 to 10 enforce increasingly faster animation of
line drawing and turtle turning.
Attention:
speed = 0 : no animation takes place. forward/back makes turtle jump
and likewise left/right make the turtle turn instantly.

方法二

turtle.delay(0)

这个是海龟作图中,作图的延迟属性。修改属性的延迟为0,以实现加快作图的目的。
举一反三,也可以修改属性为其他数值(大于0的数(包含浮点数)),来实现减慢作图的效果。

方法三

turtle.tracer(False)# 或者 turtle.tracer(0)
...
# 作图过程
...
turtle.update()

我结合实际测试,推测这个属性应该是开启/关闭作图过程展示。将tracer()属性调为关闭(False或者0)后,执行作图代码时,窗口并不会出现任何东西,应该是保持开始作图之前的画面,直到执行turtle.update()刷新画面。应该是就图画在后台内存中画好,然后执行刷新命令时,将内存读取到画面窗口中。
tracer()中好像也有一个delay()的可选形参,没有测试过,不知道实际作用。

  • 27
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值