Python入门(十一):常用标准库(1)—— turtle

文章目录

  • turtle库
    • 概述
    • 引入
    • 使用
      • 窗体函数
      • 画笔状态函数
      • 画笔运动函数
    • 示例
      • 蟒蛇绘制
      • 心形绘制

turtle库

概述

  • turtle(海龟)是 Python 重要的标准库之一,能够进行基本的图形绘制
  • turtle图形绘制的概念诞生于1969年,并首先成功用于LOGO语言。
  • 由于其概念简易直观,十分流行,所以Python接受了其概念,并构造了turtle库。
  • turtle库绘制图形有一个基本框架:一个小海龟在平面坐标系中爬行,其轨迹形成了绘制图形。小海龟的动作可以有前进、后退、旋转等,其爬行方向通过小海龟自身角度方位来确定。初始绘制时小海龟位于画布正中央,此时坐标为(0,0),前进方向为水平右方。

引入

turtle库的引用和其他库一样,有三种方式:

  • import turtle,此时调用函数方式为turtle.<函数名>()
import turtle
turtle.circle(911)
  • from turtle import *,此时调用函数方式为<函数名>()
from turtle import *
circle(911)

3.import turtle as t,此时调用函数方式为t..<函数名>()(注:此为最常用方式,t为变量名,可任意变换,不过经常以库的前几个字母作为库的新名称,方便记忆调用

import turtle as t
t.circle(911)

此外还经常会调用库中的几个函数即可,这时常用语句为from turtle import <函数名1>, <函数名2>,...,使用方法为<函数名>()

使用

turtle 库包含100多个功能函数,主要包括窗体函数、画笔状态函数和画笔运动函数3类

窗体函数

turtle 库的 turtle.setup()函数与窗体有关,用来设置主窗体的大小和位置。定义如下:

turtle.setup(width,height,startx,starty)
  • width窗口宽度。如果值是整数,表示为像素值;如果值是小数,表示为窗口宽度与屏幕的比例。
  • height窗口高度。如果值是整数,表示为像素值;如果值是小数,表示为窗口高度与屏幕的比例。
  • startx窗口左侧与屏幕左侧的像素距离。如果值为None,窗口位于屏幕水平中央。
  • starty窗口顶部与屏幕顶部的像素距离。如果值为None,窗口位于屏幕垂直中央。

画笔状态函数

在此列举一些常用的画笔状态函数:

  • penup()pu()up():提起画笔
  • pendown()pd()down():放下画笔
  • pensize()width():画笔粗细
  • pencolor(string)pencolor((r,g,b)):画笔颜色
  • fillcolor(string)fillcolor((r,g,b)):填充颜色
  • color(string1,string2)color((r1,g1,b1),(r2,g2,b2)):画笔及填充颜色
  • begin_fill():图形填充开始
  • end_fill():图形填充结束
  • filling():返回填充状态,True为填充,False为未填充
  • clear():清空当前窗口,但不改变当前画笔位置
  • reset():清空当前窗口,并重置状态为默认值
  • screensize(width,height,bgcolor):设置画布宽度、高度及背景颜色
  • hideturtle():隐藏画笔的 turtle 形状
  • showturtle():显示画笔的 turtle 形状
  • tracer():跟踪画笔,默认为 True
  • isvisible():如果 turtle 课件,则返回 True
  • write(str,font=("name",size,"type")):输出 font 字体的字符串str

画笔运动函数

turtle 通过一组函数控制画笔的行进动作,从而绘制图形。常用画笔运动函数如下:

  • forward(distance)fd(distance):沿着当前方向前进指定距离
  • backward(distance)bk(distance):沿着相反方向前进指定距离
  • right(angle):向右旋转angle角度
  • left(angle):向左旋转angle角度
  • goto(x,y):移动到指定位置
  • setx(x):修改画笔的横坐标到x,纵坐标不变
  • sety(y):修改画笔的纵坐标到y,横坐标不变
  • setheading(angle)seth(angle):设置画笔朝向角度
  • home():画笔回到原点,朝向东
  • circle(radius,extent):绘制半径为r,角度为e的弧形(r为正数时半径在小海龟左侧)
  • dot(r,c):绘制半径为r,颜色为c的原点
  • undo():撤销画笔最后一步动作
  • speed(s):设置画笔绘制速度,参数区间为[0,10],0表示无动作,1~10速度渐增,超过10则参数默认为0
  • done():画笔停留

示例

蟒蛇绘制

大家都知道,Python 的英文意思即为蟒蛇,而且 Python 有一句名言:人生苦短,我学 Python。因此,我们尝试绘制一条抽象的蟒蛇,并在其蟒蛇下面书写该名言。代码如下:

# -*-coding:utf-8-*-
import turtle as t
t.setup(911,305)
t.screensize(911,305,"black")
t.pensize(14)
t.color("blue")
t.pu()
t.fd(-305)
t.pd()
t.seth(45)
for i in range(4):
	t.circle(-45,90)
	t.circle(45,90)
t.right(45)
t.fd(30)
t.pu()
t.goto(-160,-100)
t.pd()
t.write("人生苦短,我学Python",font=("华文行楷",14,"bold"))
t.hideturtle()
t.done()

心形绘制

大家平常肯定都是喜欢画些小心心送给某人吧ヾ(゚∀゚ゞ),在这我们尝试用Python画个心形送给她(他)吧。代码如下:

# -*-coding:utf-8-*-
from turtle import *
hideturtle()
pensize(1)
color("pink","red")
pu()
goto(0, 100)
pd()
begin_fill()
left(90)
circle(120,180)
circle(360,70)
left(38.95)
circle(360,70)
circle(120,180)
end_fill()
done()

你可能感兴趣的:(Python)