|Python新手小白低级教程之项目篇——turtle库|第二章:turtle库基础(2)

2024-02-11 23:12

本文主要是介绍|Python新手小白低级教程之项目篇——turtle库|第二章:turtle库基础(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目篇—文章目录

  • 前言
  • 一、turtle库特殊命令
  • 二、画圆和画点
    • 1.画圆turtle.circle()
    • 2.画实心点turtle.dot()
  • 三、画笔控制
    • 1.画笔粗细:turtle.pensize(粗细参数)
    • 2.控制画笔速度指令turtle.speed(速度参数)
    • 3.显示(隐藏)海龟(指针)图标
  • 四、颜色填充
    • 1.设置填充颜色&画笔颜色
    • 2.设置某个图形的填充颜色
    • 3.开始(结束)填充
      • 练习1.1:画一个轮廓是黄色,填充色是红色的圆
  • 总结
  • Test Key
    • 1.1

前言

上节课我们学习了turtle的第一课,学了一些基础命令
有的小伙伴向我吐槽:BoBo仔,你的turtle命令能不能搞缩写啊,如果是100行代码,那我turtle不是要打废?
今天,我们先来解决这个问题

一、turtle库特殊命令

有的小伙伴想把turtle直接缩写成“t”。但是,程序会允许我们偷懒吗?
在这里插入图片描述
很显然,报错了,因为t程序不认识。怎么解决这个问题呢?
之前,我们用了一个结构,大家还记得吗?它就是对象+函数。其实,此处的turtle也是一个对象,我们可以把它看做一个变量。我们把turtle这个库对象赋给t这个简单变量不就得了?所以,大家有思路了吗?

import turtle
t = turtle
t.forward(100)

yes,就是这样。
当然,地道的程序员可不是这么玩的。我们最好这么写,大家记清楚了。

import turtle as t
t.forward(100)

“as t”就相当于把turtle赋给t了,也从而达到了我们简略的效果。
有了这么偷鸡的代码,那长点的代码也不难了。

二、画圆和画点

1.画圆turtle.circle()

有的朋友会问了:我们画过矩形,画过三角形,甚至画过了梯形。那么,怎么画圆呢?
因为圆是曲线构成的,所以我们需要用到一个特殊命令——turtle.circle()
不过,circle这个使用方法比较挑剔。
首先,海龟编辑器给了我们一个标准格式:
在这里插入图片描述
我们挨个来看看。首先,第一个是radius(半径),简单来说就是圆的大小,这是必填的。第二个,extent(角度),也就是确定圆的圆心角大小,一般来说整圆是360°;第三个是step(几边形),这个专门用来花多边形(如果是整圆,那么这一参数请忽略)。
所以,circle不仅仅能画圆,更能干一些非常复杂的工作,功能异常强大。
我们来看一下这个命令的效果:
目的:画一个半径为100的圆(整圆)
源代码:

import turtle as t
t.circle(100)

这是画整圆,大家可以自己尝试一下画其他类型的circle的内容。

2.画实心点turtle.dot()

这个指令就是画实心点,不过这个指令非常重要。是不是有同学在脑中脑补出了这么一副表情:在这里插入图片描述
我们学过了画圆,画曲线,就是没有画过点。那么,命令是什么呢?
答案是这样:

turtle.dot(大小)

这个东东大家能记住吗?想必聪明的同学们的回答是肯定的。话不多说,我们来看看这段代码的执行效果。
源代码:

import turtle as t
t.speed(1)
t.dot(50)
t.forward(100)
t.dot(50)

在这里插入图片描述
[这还是一个幻影啊]这是大白(●—●)的两只眼睛。在这里,我们可以看到我们的forward和dot结合。这个效果还是不错的,不过还是有瑕疵:中间的线不够粗,那该怎么办?
此时,我们就要用到一个新的内容:控制画笔粗细——turtle.pensize()。

三、画笔控制

这个内容其实要比我们之前写的简单。我们首先要学习的东西——画笔粗细控制指令:turtle.pensize(粗细参数).

1.画笔粗细:turtle.pensize(粗细参数)

这个我们酝酿了这么久的东东想必一定很重要。不错,这次我们就来好好认识他。
首先,还是上面那个例子。

import turtle as t
t.pensize(30)
t.speed(1)
t.dot(50)
t.forward(100)
t.dot(50)
t.exitonclick()

后面的t.exitonclick()是为了留下画面,大家如果加上它,那你的图就不会消失,大家记得记一下哈。在这里,我们的粗细指令就显而易见,功能明显,看起来比前面那个大白有精神地多了。
当然,在上面的代码里,除了画笔粗细,还有画笔速度,我们之前经常见过。

2.控制画笔速度指令turtle.speed(速度参数)

还是上面的例子,大家会发现这样看我画图慢了许多。

import turtle as t
t.pensize(30)
t.speed(1)
t.dot(50)
t.forward(100)
t.dot(50)
t.exitonclick()

这里的speed我已经放到最慢了,因为我想看得清楚一点。
这个指令多时候是为了自己看得更清楚,所以大家只要理解一下即可。不过,接下来的内容就是重头戏,大家睁大眼睛,看仔细了!

3.显示(隐藏)海龟(指针)图标

这2个功能不得不需要使用2个新的指令,它们是:

turtle.hideturtle()                 
turtle.showturtle()                

我们把turtle后面的函数拆来看看,会发现,一个是“hideturtle”,一个是“showturtle”。我们再把他们两个拆开,会发现:一个是hide,一个是show。大家认识他们吗?一个是隐藏,一个是展示。所以大家记住这两个指令时,可以记住:展示turtle就是出现,隐藏turtle就是消失。
在正式Python考试中,一般都会拥有隐藏要求,大家一定要记住:在没有方向注意点时,建议隐藏海龟。

四、颜色填充

有的朋友们要问了:BoBo仔,我们学了这么久,为啥都是轮廓,没有颜色填充呢?别急,教程来咯!

1.设置填充颜色&画笔颜色

这个大家别以为是长篇大论,其实只是一段小小的代码罢了。
这段代码就是:

turtle.color('color1','color2')   #turtle.color('color1', 'color2')   设置 画笔颜色为color1,填充颜色为color2

或者直接设置画笔颜色为:

turtle.color('颜色')

比如我们设置画笔颜色为黄色,填充颜色为红色。

turtle.color('yellow','red')

【别忘了加上双引号哈】
如果我们想画一个轮廓为黄色,填充色为红色的东西,那该咋办?
这时候,我们就要用到一段新的代码——往下看!

2.设置某个图形的填充颜色

这个代码非常简单,和上面的长得差不多,不过要和我们下面讲的东西配合使用。
这段代码就是:

turtle.fillcolor('颜色')       

在使用它之前,我们还要认识一段代码:

3.开始(结束)填充

这两段代码分别是:

turtle.begin_fill()
turtle.end_fill()

begin和end这两个单词大家都认识,一个是“开始”,一个是“结束”。我们上面也讲了,我们要把这俩代码和上面讲的填充画笔(填充)颜色配合使用,所以大家可以试试看这道题了吗?

练习1.1:画一个轮廓是黄色,填充色是红色的圆

大家想想要用到那些命令,自己试着来做一做吧!

总结

这节课到这里就完美完结了。怎么样,是不是对turtle库的了解透彻了许多?大家别忘了一圈三连,点个关注!

下节课,我们会学习更多的turtle库命令,大家敬请期待!

上一节课的turtle讲解:
https://editor.csdn.net/md/?articleId=136085783
大家别忘了阅读哟!

Test Key

1.1

import turtle as t# 设置轮廓颜色为黄色
t.color("yellow")# 设置填充颜色为红色
t.fillcolor("red")# 开始绘制圆形
t.begin_fill()
t.circle(100)
t.end_fill()# 隐藏画笔
t.hideturtle()# 显示绘制结果
t.done()#这个效果和我们之前学的指令差不多,都是为了保留画面。

这篇关于|Python新手小白低级教程之项目篇——turtle库|第二章:turtle库基础(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/701075

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav