109. Python的turtle库简介

文摘   教育   2024-04-21 15:36   云南  


【目录】


  • 1. 什么是turtle库?

  • 2. 用turtle库绘制一个爱心图案

  • 3. 库的导入方法

    • 3.1 直接导入整个库

    • 3.2 从库中导入特定的函数或类

    • 3.3 导入库中的所有内容

    • 3.4 为导入的库设置别名

    • 3.5 为导入的函数或变量设置别名

  • 4. turtle库常用的绘图命令


【正文】

1. 什么是turtle库?

turtle[ˈtɜːtl]:海龟。

【功能】

编写指令来控制一个虚拟的小海龟(turtle即箭头)在屏幕上移动,从而绘制出各种图形。

这个虚拟海龟可以看作是一个画笔,它能够在画布上移动,画出用户想要的图案。

turtle库提供了一系列的函数和方法来控制这个虚拟海龟的行为,包括前进、后退、转向等动作。

用户可以绘制出直线、圆形、多边形等基本图形,甚至可以创建更复杂的图案和设计。

turtle库允许设置画笔的颜色、粗细以及画布的大小和背景颜色等属性,使得绘制出的图形更加丰富和个性化。

2. 用turtle库绘制一个爱心图案

【效果展示】

1.爱心图案

【代码展示】

# 绘制爱心图案

import turtle

# 创建画布和海龟对象
canvas = turtle.Screen()
canvas.bgcolor("white")
pen = turtle.Turtle()
# 设置画笔颜色和填充颜色
pen.color("red""pink")
pen.pensize(3)
pen.speed(2)

# 绘制爱心形状
pen.up( )
pen.goto(0,-100)
pen.down()
pen.begin_fill()
pen.left(45)
pen.forward(150)
pen.circle(75180)
pen.right(90)
pen.circle(75180)
pen.forward(150)
pen.end_fill()

# 隐藏画笔
pen.hideturtle()

# 保持窗口打开,直到用户关闭它
turtle.done( )

【温馨提示】

后面的文章会对上述的代码进行逐行解析。

【源码文件】

109-绘制爱心图案.py

私信作者领取。

3. 库的导入方法

turtle库是Python标准库

使用前无需安装,导入即可调用。

导入库通常有以下几种方法。

3.1 直接导入整个库

【语法】

import turtle

使用import关键字导入整个库。

通过库名turtle作为前缀来访问turtle库中的所有函数和类。

即:每次调用库的类、方法等前面都要将turtle库名作为前缀。

【代码示例】

import turtle

# 实例化类创建画笔对象
# 变量=库名.类名( )
# 导入的是库名,调用时库名turtle作为前缀
# 调用turtle库的Turtle类
pen = turtle.Turtle( )

3.2 从库中导入特定的函数或类

【语法】

from turtle import function_name, class_name

从库中导入特定的函数或类,导入之后可以直接使用这些函数或类,无需加前缀。

【代码示例】

from turtle import Turtle

# 实例化类创建对象
# 前缀turtle库名不需要
# Turtle是类名,类名首字母大写
# 实例化类创建对象:对象名=类名() 
pen = Turtle( )

从turtle库中导入Turtle类。

编写代码时不需要通过库名来引用它们,直接使用类名即可。

3.3 导入库中的所有内容

【语法】

from turtle import *

导入turtle库中的所有所有函数和类,可以直接使用库中的函数和类,无需加前缀。

【代码示例】

下面的代码可绘制一个正方形。

from turtle import *

# 设置画笔速度
speed(1)

# 绘制正方形
for _ in range(4):
    forward(100)
    right(90)

# 关闭窗口
done()

3.4 为导入的库设置别名

【语法】

import numpy as np

将numpy库导入并设置了别名np。

调用时将库名numpy简写为np。

【代码示例】

import numpy as np
np.array() 

3.5 为导入的函数或变量设置别名

【语法】

from math import sqrt as sq

将math库中的sqrt函数导入并设置了别名sq,可以直接使用sq()调用该函数。

【温馨提示】

在使用from ... import ...语句导入特定函数或变量时,如果库中存在与导入函数或变量同名的函数或变量,那么导入的函数或变量将会覆盖原有的函数或变量。

因此,在使用from ... import ...语句导入时,需要确保导入的函数或变量名称与现有名称不冲突,或者使用import ... as ...语句为导入的库设置别名,以避免命名冲突。

Python-109-导入库的方法

4. turtle库常用的绘图命令

# 画布控制
turtle.screensize() #设置画布的大小,可以指定宽度、高度和背景颜色。
turtle.setup(width=(),height=()) #:设置窗口的尺寸,但不改变画布大小,只改变可视区域

## 画笔控制命令

# 画笔颜色
pencolor() #返回当前画笔颜色
fillcolor()#设置或返回填充颜色

# 画笔状态
penup()   # 抬起画笔,移动时不绘制图形
pendown() # 落下画笔,移动时绘制图形

# 画笔速度
speed(speed) #设置海龟的绘制速度,speed参数取值范围为0-10,0表示最快,10表示最慢

# 画笔粗细
width(width)#设置画笔粗细,width参数为正整数,表示线条宽度

# 画笔填充
begin_fill() # 开始填充图形
end_fill()   # 结束填充图形

# 画笔隐藏与显示
hideturtle() # 隐藏画笔。
showturtle() # 显示画笔。

# 画笔形状
shape(shape) # shape参数可以是"arrow"、"turtle"、"circle"、"square"、"triangle"、"classic"等

# 画笔方向
setheading(angle) # 设置海龟的朝向,angle参数是以度数为单位的角度值

# 画笔清屏
reset() #清除当前窗口中的图形,重新设置海龟的初始位置和状态

# 画笔回家
home() # 将海龟移动到初始位置

# 画笔移动:
pen.forward(distance)#:向前移动指定的距离。
pen.backward(distance)#:向后移动指定的距离。
pen.left(angle)#:向左转指定的角度。
pen.right(angle)#:向右转指定的角度。
pen.circle(radius, extent=None, steps=None)#:画一个圆弧,指定半径和角度

#其他功能:
pen.hideturtle()#:隐藏画笔图标
pen.showturtle()#:显示画笔图标
pen.speed(speed=None)#:设置画笔移动速度

# 绘制文字:
pen.write(arg, font=("Arial"8"normal"))#:在当前位置写入文本

上述命令在后面的文章会逐一进行讲解。

【参考书籍】

《码上行动 用ChatGPT学会Python编程》


安迪python学习笔记
python学习笔记,适合初学者。
 最新文章