Python绘图之turtle库的基础语法使用

 更新时间:2021年06月24日 12:05:48   作者:简时刻  
这篇文章主要给大家介绍了关于Python绘图之turtle库的基础语法使用的相关资料, Turtle库是Python语言中一个很流行的绘制图像的函数库,再绘图的时候经常需要用到的一个库需要的朋友可以参考下

前言

Python语言的turtle库是一个直观有趣的图形绘制函数库,是python语言标准库之一。

turtle库也叫海龟库,是turtle绘图体系的Python实现。turtle库是Python语言的标准库之一,是入门级的图形绘制函数库。

turtle绘图体系:也叫海龟绘图系统,它是在1969年诞生,主要用于程序设计入门的一种绘图方式。

Python计算生态 = 标准库 + 第三方库

标准库:随解释器直接安装到操作系统中的功能模块。

第三方库:需要经过安装才能使用的功能模块。

turtle官方文档:https://docs.python.org/3/library/turtle.html

turtle库的绘图原理是在一个横轴为x、纵轴为y的坐标平面中,以原点(0,0)位置为开始点,根据一组函数指令的控制来移动,从而在它爬行的路径上绘制图形。

一、turtle库的导入

方法一:import turtle

方法二:import turtle as t

方法三:from turtle import *

二、绘图命令介绍

1. 画布属性设置

语法 含义
turtle.screensize(width,height,bg)   设置画布的宽、高、背景颜色
turtle.setup(width,height,startx,starty)   设置画布显示窗口的大小、位置,前两个参数为窗口大小,后两个参数为起始点位置

2. 画笔属性设置

语法 含义
turtle.pensize(width) 设置当前画笔线条的宽度为width像素
turtle.colormode(1.0[255]) 设置画笔颜色模式
turtle.pencolor(colorstring) 设置画笔的颜色,参数colorstring可以是"green"、"red"、"blue"、“yellow”等英文字符串
turtle.speed(5) 设置画笔的移动速度,画笔绘制的速度范围在[0,10]整数之间,数字越大,画笔移动的速度越快。

3.  移动画笔和转角绘图

语法 含义
turtle.penup()/pu()/up() 提起画笔,不绘图
turtle.pendown()/pd()/down() 画笔移动时绘制图形
turtle.forward(100)/fd(100) 画笔向当前方向移动100像素距离
turtle.backward(100)/bk(100) 画笔向相反方向移动100像素距离
turtle.right(45)/rt(45) 画笔顺时针移动45度
turtle.left(45)/lt(45) 画笔逆时针移动45度
turtle.setheading(45)/seth(45) 设置当前画笔朝向为45度
turtle.goto(x,y) 移动画笔到指定坐标位置
turtle.hideturtle() 隐藏画笔turtle形状
turtle.showturtle() 显示画笔turtle形状

实例代码

# coding:utf8
import turtle as t
 
t.setup(500, 500)    # 设置画布大小
t.reset()            # 清空窗口
t.pensize(4)         # 设置画笔大小为4
 
# 绘制外层正方形
t.penup()            # 提起画笔
t.pencolor("red")    # 设置画笔颜色
t.goto(-200, -200)    # 设置外层正方形起点坐标
t.pendown()
t.forward(400)       # 外层正方形边长为400像素
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)
 
# 绘制中间正方形
t.penup()
t.pencolor("yellow")
t.goto(-150, -150)   # 中间正方形起点坐标
t.pendown()
t.seth(0)           # 重新设定画笔角度为0°
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
 
# 绘制内层中方形
t.penup()
t.pencolor("blue")
t.goto(-100,  -100)    # 内层正方形起点坐标
t.pendown()
t.seth(0)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)
 
t.done()

4.  图形绘制与图形填充

语法 含义
turtle.circle(5,[extent,steps]) 绘制半径为5的圆形
turtle.color(pencolor,fillcolor) 同时设置画笔颜色(边框颜色)和填充颜色
turtle.begin_fill() 以当前为起点,开始填充颜色
turtle.end_fill() 以当前为终点,结束填充图形
turtle.done() 绘图结束后,保留窗口

代码实例

# coding:utf8
import turtle
 
turtle.setup(500, 500)
turtle.reset()
turtle.pensize(5)
 
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
 
# 绘制红边框蓝填充颜色的大圆
turtle.color("red", "blue")
turtle.begin_fill()
turtle.circle(200)
turtle.end_fill()
 
# 绘制红边框绿填充颜色的大圆
turtle.color("red", "green")
turtle.begin_fill()
turtle.circle(150)
turtle.end_fill()
 
# 绘制红边框黄填充颜色的大圆
turtle.color("red", "yellow")
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()
 
turtle.done()

 

三、turtle绘图实例:绘制太阳花

import turtle as t        # 导入Turtle库,并指定导入库的别名为t
 
t.color("red", "yellow")  # 同时设置pencolor=red, fillcolor=yellow
t.speed(10)               # 设置画笔绘制的速度为10
t.begin_fill()            # 准备开始填充图形
 
for x in range(50):       # 利用for循环绘制太阳花
    t.forward(200)        # 向当前画笔方向移动200像素
    t.left(170)           # 逆时针旋转170度
 
t.end_fill()              # 填充完成
t.done()                  # 绘制完成后窗口不退出

总结 

到此这篇关于Python绘图之turtle库基础语法使用的文章就介绍到这了,更多相关Python绘图turtle库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tensorflow2.1 MNIST图像分类实现思路分析

    Tensorflow2.1 MNIST图像分类实现思路分析

    这篇文章主要为大家介绍了Tensorflow2.1 MNIST图像分类实现思路分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Python3 queue队列模块详细介绍

    Python3 queue队列模块详细介绍

    queue是python中的标准库,俗称队列。这篇文章给大家介绍了Python3 queue队列模块,包括模块中的常用方法及构造函数,需要的朋友参考下吧
    2018-01-01
  • python爬虫之urllib3的使用示例

    python爬虫之urllib3的使用示例

    这篇文章主要介绍了 python爬虫之urllib3的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 解决Python计算矩阵乘向量,矩阵乘实数的一些小错误

    解决Python计算矩阵乘向量,矩阵乘实数的一些小错误

    今天小编就为大家分享一篇解决Python计算矩阵乘向量,矩阵乘实数的一些小错误,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 如何使用python爬取B站排行榜Top100的视频数据

    如何使用python爬取B站排行榜Top100的视频数据

    本文章向大家介绍python爬取b站排行榜,包括python爬取b站排行榜的具体代码,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考一下
    2021-09-09
  • python Selenium 库的使用技巧

    python Selenium 库的使用技巧

    这篇文章主要介绍了python Selenium 库的使用技巧,帮助大家更好的理解和学习python Selenium 库,感兴趣的朋友可以了解下
    2020-10-10
  • 机器学习、深度学习和神经网络之间的区别和联系

    机器学习、深度学习和神经网络之间的区别和联系

    机器学习>神经网络>深度学习≈深度神经网络,机器学习包括了神经网络在内的许多算法,而神经网络又可以分为浅度神经网络和深度神经网络,深度学习是使用了深度神经网络的技术,虽然机器学习、深度学习和神经网络是不同的,但在构建复杂系统时,许多相关概念是混合在一起的
    2024-02-02
  • python调用excel_vba的两种实现方式

    python调用excel_vba的两种实现方式

    本文主要介绍了python调用excel_vba的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python ConfigParser库轻松读写INI文件实例探究

    Python ConfigParser库轻松读写INI文件实例探究

    这篇文章主要为大家介绍了Python ConfigParser库轻松读写INI文件实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • django框架基于queryset和双下划线的跨表查询操作详解

    django框架基于queryset和双下划线的跨表查询操作详解

    这篇文章主要介绍了django框架基于queryset和双下划线的跨表查询操作,结合实例形式详细分析了Django框架queryset和双下划线的跨表查询相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-12-12

最新评论