Python基础_Turtle库使用案例(详细注释)

Turtle是一个绘图库,是python的标准库之一。以下分析如何绘制紫色蟒蛇的简单案例。

话不多说,先上效果图:
在这里插入图片描述

代码:pthonDraw.py

import turtle as tt             #【1】turtle库导入,取[别名]为tt

tt.setup(650, 350 , 200, 200)   #【2】绘制显示的窗体 (width,height,startx,starty)
tt.penup()                      #【3】画笔抬起
tt.fd(-250)                     #【4】向后倒退250个像素
tt.pendown()                    #【5】画笔落下
tt.pensize(25)                  #【6】画笔的宽度   25像素
tt.pencolor("purple")           #【7】画图的颜色
tt.seth(-40)                     #【8】向右转40度

for i in range(4):              #【9】循环4次
    tt.circle(40, 80)           #【10】在海龟的左侧绘制半径为40,80度的圆
    tt.circle(-40, 80)          #【11】在海龟的右侧绘制半径为40,80度的圆

tt.circle(40, 80/2)             #【12】在海龟的左侧绘制半径为40,40度的圆
tt.fd(40)                       #【13】往前走40像素
tt.circle(16, 180)              #【14】在海龟的左侧绘制半径为16,180度的圆
tt.fd(40 * 2/3)                 #【15】往前
tt.done()                       #【16】程序结束后不要立即退出

知识点分析:

以下将要用到的符号:	[ ] 里的内容表示‘可选’    
		 			( ) 表示函数方法
					< > 类型名称

【1】import

turtle是Pyhon标准库
标 准 库:标准库就是在Pyhon解释器安装的时候就包含了这个库文件,要import使用的时候无需另外下载安装。
第三方库:要使用的时候需下载安装才能进行import导入。

import用法一:import <模块名> [as <别名>]
           作用:导入模块并给该模块起一个简洁的别名,后续别名就代表这个模块,有些模块的原名又臭又长,
                 简洁的别名方便我们书写,提高代码编写速度。
           特点:仅先导入模块名称,只有在真正使用的时候才利用<模块名>/<模块别名>.<函数名>()的方式导入函数。
           用法:a、<模块名>.<函数名>()
				 b、<别名>.<函数名>()
           缺点:每次使用函数的时候都需要先写<模块名>/<模块别名>. 会有些繁琐,重复性的代码。
           优点:很好的避免了函数命名冲突。如turtle模块有个setup()函数,而我们也自定义了一个setup函数,此时使用turtle.setup()的方式就可避免冲突。
                 这句代码的意思是使用turtle模块中的setup函数,而不是其他地方的。

import用法二:from <模块名> import*
      		 作用:一次性导入该模块中所有的函数。
        	 特点:与【1】的区别是,【1】只有当<别名>.函数()时才会把该函数引用进来,
             	  而【2】是一次性就把所有的函数都引用了。后续就可以直接使用函数,而不用再库名/库别名.<函数名>()
        	 缺点:a、由于导入过多的函数,所以会消耗一定的系统资源。
             	   b、如果程序中导入了很多库或者程序代码较多,有函数命名冲突的风险。
       
import用法三:from <模块名> import <具体函数名>
             作用:从模块中导入要某函数。一般只有明确的知道只用到个别函数的情况下使用。
             特点:明确只导入某函数,其他的不需要。
             优点:当代码较少时可使用该方式。
             缺点:如果要使用该模块中的许多函数,而需要导入很多次。

【2】窗体绘制

setup(width, height, [startx, startx])
width:窗体的宽
heigh:窗体的高
startx:窗体的起始点(左上角)的x坐标(相对于电脑屏幕的位置,显示屏左上角是起始点(0, 0))  
starty:窗体的起始点(左上角)的y坐标(相对于电脑屏幕的位置,显示屏左上角是起始点(0, 0))
startx,startx同时不写时就默认在屏幕居中显示

【3】penup() 的别名 pu()
【4】forward的简称,向前移动。

正值代表往前,-负值代表倒退。由于画笔是抬起的,所以此时移动画笔时不会进行绘制。扩展:turtle.bk() 向后倒退。
fd(10)与bk(-10)的效果是一样的。

【5】pendown()的别名 pd()
【6】pensize()的别名 width()

【7】turtle.pencolor(color)

color可为颜色字符串或者RGB值。字符串:"purple"  ; RGB整数:160, 32, 240 ; RGB小数:0.63,0.13,0.94

RGB彩色模式:RGB每色取值有2种模式,模式1:0-255正数   模式2:0-1小数
			 默认采用小数值,可切换为正数值。
			 切换方法为 turtle.colormode(mode)
			 mode >  1.0     RGB小数值模式
        			 255     RGB整数值模式

【8】seth(angle) 全称:setheading()。

	改变海龟的行进角度,只改变角度不前进。正数代表往左,负代表往右。

    Tutle的绝对角度坐标
                     90/-270度
                        ↑ Y
                        |
                        | 
     180/-180度         |             0/360度 
        <-------------------------------> x
                        |
                        | 
                        | 
                        |
                    270/-90度

    海龟角度: turtle.left(angle)
              turtle.right(angle)
              这里的angle填整数即可。

【9】for <变量> in range(参数):
<被循环执行的语句>

<变量>每次循环叠加1
-range(N) 产生0 到 N-1的整数序列,共N个   eg:range[2]       0 1
-range(N, M) 产生N到M-1的整数序列,共M-N个。 eg:range[1,3]   1 2

【10】turtle.circle(r, extent=None)

绘制半径为r,度数为extent的圆。
r:圆半径。圆心默认在海龟左侧r的距离。 负数表示在海龟的右侧。 海龟默认是面对屏幕的东方。
extent:表示绘制的圆的完整度,默认是360度(一个完整的圆)。90,圆为90度,则是4分之一圆。

【16】done() 作用是让程序执行完后不要立即退出。

Turtle的空间坐标:

                    ↑ Y
                    |
      a(-100, 100)  | b(100, 100) 
                    |
    <-------------------------------> x
                    |
      c(-100, -100) | d(100, -100)
                    | 
                    |


如,turtle.goto(-100, 100)就是往a点转向
    setup()的startx,starty是绝对坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值