110. turtle库创建画笔对象

110. turtle库创建画笔对象

【目录】

文章目录

  • 110. turtle库创建画笔对象
    • 1. 知识回顾-类与对象
      • 1.1 类
      • 1.2 对象
    • 2. 创建画笔对象
      • 2.1 方法1
      • 2.1 方法2
    • 3. 绘制一个正方形
    • 4. 总结

【正文】

1. 知识回顾-类与对象

类是创建对象的蓝图。
对象是类的实例。

1.1 类

类(Class)用于描述具有相同属性和方法的对象集合。
类可以看作是一个模板或者蓝图,它定义了一组属性和方法,这些属性和方法可以被所有根据该类创建的对象共享。

类是一种概念而非具体物体。

  • 汽车是一个类。
  • 字符串是Python内置类。
  • 列表是Python内置类类。

:类是一种抽象的概念,它。在Python中,我们使用class关键字来定义一个类。例如,我们可以定义一个名为MyClass的类,它有一个属性x和一个方法print_x,这个方法可以打印出属性x的值。

【定义类的语法】

class 类名:
    类具体实现代码块

类名首字母要大写。

1.2 对象

对象(Object)是指某一类具体事物,也称为实例(instance),是类对应的具体事物。

汽车作为一个抽象的概念,可以被看做一个类。
而一辆实实在在的汽车,则是“汽车”这个类的对象。

Python中,一切皆是对象。
每个对象都有自己的类和内存地址。

实例化类可以创建一个对象。

每个对象都有自己的状态和行为。

  • 状态通过属性来表示的。状态=属性
  • 行为通过方法来定义的。行为=方法

【创建对象语法】

对象名=类名( )

2. 创建画笔对象

2.1 方法1

【语法示例】

# 从turtle库中导入Turtle类
from turtle import Turtle
# 创建画笔对象:对象名=类名( )
# pen:对象名
# Turtle:类名
# 创建的pen这个对象可以用来在屏幕上绘制图形
pen = Turtle()

2.1 方法2

【语法示例】

# 导入turtle库
import turtle
# 导入的是整个库,要调用某个库的类,库名要作为前缀
# 创建画笔对象:对象名=库名.类名( )
# turtle:库名
# pen:对象名
# Turtle:类名
# 创建的pen这个对象可以用来在屏幕上绘制图形
pen =turtle.Turtle()

3. 绘制一个正方形

【效果展示】

在这里插入图片描述

【代码示例】

from turtle import Turtle, Screen

# 创建屏幕对象
screen = Screen()

# 设置屏幕大小
screen.setup(width=800, height=600)

# 创建海龟对象
my_turtle = Turtle()

# 设置海龟的形状
my_turtle.shape("turtle")

# 设置海龟的速度
my_turtle.speed(1)

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

# 关闭窗口
screen.exitonclick()

【源码文件】

110-绘制正方形图案.py

【正方形的实现】

  • 第1次for循环,画笔向前移动100个单位并右转90度,画笔此时向
  • 第2次for循环,画笔向前移动100个单位并右转90度,画笔此时向
  • 第3次for循环,画笔向前移动100个单位并右转90度,画笔此时向
  • 第4次for循环,画笔向前移动100个单位并右转90度,画笔此时向

4. 总结

【创建画笔对象】

# 方法1
from turtle import Turtle
pen = Turtle()

# 方法2
import turtle
pen =turtle.Turtle()

【参考书籍】

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/565357.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

001-谷粒商城-微服务剖析

1、架构图 还是很强的,该有的都有 2、微服务模块 SpringCloudAlibaba组件包括 SentinelNacosRocketMQSeata 搭配SpringCloudAlibaba组件 OpenFeignGateWayRibbn gateway使用了SpringWebFlux,前几天研究到,为什么springboot不直接使用Spri…

vue3【详解】选项式 API 实现逻辑复用

抽离逻辑代码到一个函数函数命名约定为 useXxxx格式 ( React Hooks 也是 )在 setup 中引用 useXxx 函数 演示代码:实时获取鼠标的坐标 逻辑封装 useMousePosition.js // 导入 ref, onMounted, onUnmounted import { ref, onMounted, onUnmounted } from "vue…

Android Graphics 显示系统 - 解读Source Crop和Display Frame(三二)

“ 假设你手里有一张足够大的白纸,请你把它对折51次。想象一下,它会有多高?1米?2米?其实,这个厚度超过了地球和太阳之间的距离!人生亦如此,不用心去投资,它不过是51张白纸…

事务并发控制之说透mvcc

前言 不知道有没有人有过这样的想法💡,为什么在MySQL中已经有了各种各样的锁了,还需要mvcc呢?如果你没有想过这个问题,那只能证明你真的没有想过。 但是我的建议是可以去想一下,如果你从来没有想过这个问…

虚拟机扩容方法

概述 我的虚拟机开始的内存是40G,接下来要扩成60GB 扩容步骤 步骤1 步骤2 步骤3 修改扩容后的磁盘大小,修改后的值只可以比原来的大,修改完成后点击扩展,等待扩展完成 步骤4 虽然外面扩展成功,但是新增的磁盘空间虚拟机内部还…

自动化测试的7个步骤

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

阿里巴巴Java开发规范——编程规约(3)

# 阿里巴巴Java开发规范——编程规约(3) 编程规约 (四) OOP规约 1.【强制】构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中 这条编程规范的目的是为了保持代码的清晰性、可读性…

怎么理解算力?1000P算力是什么概念?

算力,指计算机系统在单位时间内能够完成的计算任务量,它涵盖了CPU、GPU、TPU等硬件,每秒能处理的数据量,通常以“P”(PetaFLOPS,即千万亿次浮点运算每秒)为单位来衡量,是评估计算机性…

【笔试强训】day8

没啥好说&#xff0c;都是一遍过 1.求最小公倍数 思路&#xff1a; 求lcm。其实就是两数之乘积除以两个数的gcd。gcd就是是求两个数的最大公约数。 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std;int gcd(int a, int …

虚拟线程的定义及使用

0.前言 长期以来&#xff0c;虚拟线程是 Java 中最重要的创新之一。 它们是在 Project Loom 中开发的&#xff0c;自 Java 19 作为预览功能以来一直包含在 JDK 中&#xff0c;自 Java 21 作为最终版本 (JEP 444) 以来&#xff0c;它们已包含在 JDK 中。 1.虚拟线程的作用 任…

【C++】双指针算法:复写零

1.题目 别看这是一道简单题&#xff0c;它的通过率低于一些中等甚至困难的题目&#xff01; 大大增加这道题目难度的是最后一句话&#xff1a;1.不可越界写入。2.就地修改。 如果可以再创建一个数组的话&#xff0c;那么这道题目就会非常简单&#xff0c;但这道题目必须要求在…

网络工程师---第十天

ARP表&#xff1a; 提起ARP表必然先想起ARP&#xff08;address resolution protocol&#xff09;协议&#xff0c;地址解析协议。 在实际应用中&#xff0c;我们经常遇到这样的问题&#xff1a;已知一个机器的IP地址&#xff0c;但在实际网络的链路上传送数据帧时&#xff0c;…

Redis安装部署教程

文章目录 Redis安装部署 Redis安装部署 &#xff08;1&#xff09; 下载xx.msi安装包&#xff0c;可以通过该下载地址进行下载。 &#xff08;2&#xff09; 双击下载的安装包进行安装。 &#xff08;3&#xff09; 选择安装目录&#xff08;默认C盘&#xff09;&#xff…

Kali Linux扩容(使用图形化界面)

因为今天在拉取vulhub中的镜像的时候报错空间不够&#xff0c;因为最开始只给了20GB的空间&#xff0c;所以现在需要扩容了&#xff0c;结合了一下网上的找到了简便的解决方法 1.首先虚拟机设置->磁盘->扩展 小插曲&#xff1a;在对虚拟机磁盘进行扩容以后&#xff0c;…

Flask-SQLAlchemy 中使用显式主主数据库设置

1、问题背景 在一个 Flask-SQLAlchemy 项目中&#xff0c;用户想要使用显式主主数据库设置。具体而言&#xff0c;他想要能够从默认数据库中读取数据&#xff0c;并将数据持久化到两个主数据库中。他希望知道是否可以使用 Flask-SQLAlchemy 和 binds 来实现这一目标。 2、解决…

解决宝塔面板无法访问(无法访问或拒绝链接)

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;Linux ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 问题如下&#xff1a; 本人设置了授权IP&#xff0c;但是有些问题&#xff0c;所以是打算取消授权IP 重…

使用QQ邮箱进行登录验证

使用场景不多说&#xff0c;接下来直接看实现~ 登录到QQ邮箱&#xff0c;进入设置 打开IMAP/SMTP服务&#xff0c;记得把授权码记录下来&#xff0c;后面配置文件中需要用到 新建application的配置文件 spring:mail:# 指定邮件服务器地址host: smtp.qq.comusername: 你自己的q…

分布式与一致性协议之拜占庭将军问题(一)

拜占庭将军问题 概述 拜占庭将军问题其实是借拜占庭将军故事展现了分布式共识问题&#xff0c;探讨和论证了解决的办法。实际上&#xff0c;拜占庭将军问题是分布式领域最复杂的一个容错模型&#xff0c;一旦搞懂了它&#xff0c;久能掌握分布式共识问题的解决思路&#xff0…

NTLM认证

文章目录 1.概念(1) 本地认证(2) SAM(3) NTLM Hash(4) NTLM 和 NTLM Hash(5) NTLM v2 1.概念 (1) 本地认证 Windows不存储用户的明文密码&#xff0c;它会将用户的明文密码经过加密后存储在 SAM (Security Account Manager Database&#xff0c;安全账号管理数据库)中。 (2)…