百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python零基础入门学习18:常用标准库之turtle绘图库

off999 2024-09-26 16:06 14 浏览 0 评论

:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

turtle库基本介绍

turtle库,1969年诞生,被Python语言借鉴,成为Python的标准库。

turtle名称含义为“海龟”,我们想象一只海龟,位于显示器上窗体的正中心,在画布上游走,它游走的轨迹就形成了绘制的图形。海龟的运动是由程序控制的,它可以变换颜色,改变尺寸、大小等。利用turtle可以制作很多复杂的绘图。

turtle库绘图窗体布局
turtle.setup(width, height[, startx, starty])

setup()设置窗体大小及位置。width, height分别是窗体本身的宽度和高度,如下图所示。startx, starty是可选参数。


turtle空间坐标体系




turtle绝对角度坐标体系



turtle.seth(angle)用来改变海龟行进方向,参数angle为绝对角度(角度制的度数值,不带°号)。



用turtle.right(angle)和turtle.left(angle)来改变turtle行进的方向角度。

某个turtle绘图示例如下:

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩体系

RGB由三种颜色构成的万物色。

  • RGB指红蓝绿三个通道的颜色组合。
  • 覆盖视力所能感知的所有颜色。
  • RGB每色取值范围是0~255整数,或0~1小数。

turtle默认使用RGB的小数值改变颜色,turtle.colormode(mode)

  • 1.0:RGB小数值模式。
  • 255:RGB整数值模式。

拿紫色的RGB整数值模式(160, 32, 240)做例子,将其每个颜色数值除以255,保留两位小数,就能得到其RGB小数值模式(160/255, 32/255, 240/255),即(0.63, 0.13, 0.94)。




turtle画笔控制函数

画笔操作后一直有效,一般成对出现。

-turtle.penup(),别名turtle.pu()。

抬起画笔,海龟在飞行。这时的轨迹不在画布上形成痕迹。

-turtle.pendown(),别名turtle.pd()。

落下画笔,海龟在爬行。这时的轨迹在画布上形成痕迹。

turtle.pu()和turtle.pd()是成对出现的。

-turtle.pensize(width) 别名 turtle.width(width)。

画笔宽度,海龟的腰围。

-turtle.pencolor(color),color为颜色字符串或RGB值。

画笔颜色,海龟在涂装。

pencolor(color)的color参数可以有三种形式:

  • 颜色字符串:-turtle.pencolor("purple")
  • RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94)
  • RGB的元组值:turtle.pencolor((0.63, 0.13, 0.94))
turtle运动控制函数

控制海龟行进:走直线&走曲线:

-turtle.forward(d) 别名 turtle.fd(d),走直线

向前行进,海龟走直线。d:行进距离,可以为负数。

-turtle.circle(r, extend=None),走曲线

根据半径r绘制extent角度的弧形。r是默认圆心在海龟左侧r距离的位置。extent是绘制角度,默认是360°即整圆;当extent为正数时,圆从turtle当前位置逆时针方向(即顺象限方向)画圆心角为|extent|角度(角度制)的弧形;当extent为负数时,圆从turtle当前位置顺时针方向(即逆象限方向)画圆心角为|extent|角度(角度制)的弧形。

turtle方向控制函数

控制海龟面对方向:绝对角度&海龟角度

-turtle.setheading(angle) 别名turtle.seth(angle)——绝对角度 改变行进方向,海龟走的绝对角度。angle:改变行进方向的绝对角度。

-turtle.left(angle), turtle.right(angle)

改变行进方向,海龟走的海龟角度。angle:改变行进方向的海龟角度。

“Python蟒蛇绘制”代码实例

import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() # 用来保持程序的图象存在。若没有这行,程序运行完成后会自动退出。

turtle.done() 用来停止画笔绘制,但绘图窗体不关闭。

To be continued.

相关推荐

每天一个 Python 库:datetime 模块全攻略,时间操作太丝滑!

在日常开发中,时间处理是绕不开的一块,比如:生成时间戳比较两个时间差转换为可读格式接口传参/前端展示/日志记录今天我们就用一个案例+代码+思维导图,带你完全搞定datetime模块的用法!...

字节跳动!2023全套Python入门笔记合集

学完python出来,已经工作3年啦,最近有很多小伙伴问我,学习python有什么用其实能做的有很多可以提高工作效率增强逻辑思维还能做爬虫网站数据分析等等!!最近也是整理了很多适合零基...

为什么你觉得Matplotlib用起来困难?因为你还没看过这个思维导图

前言Matplotlib是一个流行的Python库,可以很容易地用于创建数据可视化。然而,设置数据、参数、图形和绘图在每次执行新项目时都可能变得非常混乱和繁琐。而且由于应用不同,我们不知道选择哪一个图...

Python新手必看!30分钟搞懂break/continue(附5个实战案例)

一、跳转语句的使命当程序需要提前结束循环或跳过特定迭代时,break和continue就是你的代码急刹按钮和跳步指令。就像在迷宫探险中:break=发现出口立即离开continue=跳过陷阱继续前进二...

刘心向学(24)Python中的数据类(python中5种简单的数据类型)

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来文章“刘心向学(24)Python中的数据类”欢迎您的访问。Shareinterest,...

刘心向学(25)Python中的虚拟环境(python虚拟环境安装和配置)

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来文章“刘心向学(25)Python中的虚拟环境”欢迎您的访问。Shareinte...

栋察宇宙(八):Python 中的 wordcloud 库学习介绍

分享乐趣,传播快乐,增长见识,留下美好。亲爱的您,这里是LearingYard学苑!今天小编为大家带来“Python中的wordcloud库学习介绍”欢迎您的访问!Sharethefun,...

AI在用|ChatGPT、Claude 3助攻,1分钟GET高颜值思维导图

机器之能报道编辑:Cardinal以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人...

使用DeepSeek + Python开发AI思维导图应用,非常强!

最近基于Deepseek+PythonWeb技术开发了一个AI对话自动生成思维导图的应用,用来展示下如何基于低门槛的Python相关技术栈,高效结合deepseek实现从应用场景到实际应用的快速落地...

10幅思维导图告诉你 - Python 核心知识体系

首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程;接着,结合这些思维导图主要参考的...

Python基础核心思维导图,让你轻松入门

Python基础核心思维导图【高清图文末获取】学习路线图就给大家看到这里了,需要的小伙伴下方获取获取方式看下方图片...

Python基础核心思维导图,学会事半功倍

Python基础核心思维导图【高清图文末获取】学习路线图就给大家看到这里了,需要的小伙伴下方获取获取方式看下方图片...

硬核!288页Python核心知识笔记(附思维导图,建议收藏)

今天就给大家分享一份288页Python核心知识笔记,相较于部分朋友乱糟糟的笔记,这份笔记更够系统地总结相关知识,巩固Python知识体系。文末获取完整版PDF该笔记学习思维导图:目录内容展示【领取方...

Python学习知识思维导图(高效学习)

Python学习知识思维导图python基础知识python数据类型条件循环列表元组字典集合字符串序列函数面向对象编程模块错误异常文件对象#python##python自学##编程#...

别找了!288页Python核心知识笔记(附思维导图,建议收藏)

今天就给大家分享一份288页Python核心知识笔记,相较于部分朋友乱糟糟的笔记,这份笔记更够系统地总结相关知识,巩固Python知识体系。文末获取完整版PDF该笔记学习思维导图:目录内容展示【领取方...

取消回复欢迎 发表评论: