挑战14天学完Python---初识python基本图形绘制

news2025/1/15 23:07:58

往期文章

目录

  • 往期文章
  • 前言
  • 1."Python蟒蛇绘制"实例
  • 2.Python标准库 之turtle库
  • 3. 面向对象编程风格
    • 3.1 import更多玩法
      • 3.1.1使用from和import保留字共同完成
      • 3.1.2 使用import和as保留字共同完成
  • 4.turtle的原(wan)理 (fa)
    • 4.1 turtle绘图窗体布局---turtul.setup()
    • 4.2 turtle空间坐标体系---turtle.goto()、turtle.circle()
      • 4.2.1 turtle.goto(x, y)
      • 4.2.2 turtle.circle(r,angle)
    • 4.3 turtle角度坐标体系---turtle.seth()、turtle.left()、turtle.right()
      • 4.3.1 turtle.seth(angle)
      • 4.3.2 left(angle)、turtle.right(angle)
    • 4.4 turtle的RGB色彩模式
  • 循环语句与range()函数

前言

Python蟒蛇绘制共17行代码,但很多行类似.Python蟒蛇绘制问题是各类图像绘制问题的代表圆形绘制、五角星绘制、国旗绘制、机器猫绘制…
掌握绘制一条线的方法,就可以绘制整个世界!
清楚理解这17行代码能够掌握Python基本绘图方法.本章将通过"Python蟒蛇绘制"实例介绍使用python绘制图形程序的基本方法并理解Python的"模块编程"思想,后续章节将学习面向“计算生态”的理念。本章将学习:

  • 实例 Python蟒蛇绘制
  • turtle库的使用
  • turtle程序语法元素分析
    方法论
  • Python语言及海龟绘图体系
    实践能力
  • 初步学会使用Python绘制简单图形

1."Python蟒蛇绘制"实例

代码如下:

#PythonDraw.py
import turtle;
turtle.setup(650,350,400,400)
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()


如何用程序绘制一条蟒蛇呢,我们可能有疑惑了:
问题1: 计算机绘图是什么原理?
一段程序为何能够产生窗体? 为何能在窗体上绘制图形?
问题2: Python蟒蛇绘制从哪里开始呢?
如何绘制一条线? 如何绘制一个弧形? 如何绘制一个蟒蛇?
"温度转换"到"Python蟒蛇绘制"能否借鉴?

2.Python标准库 之turtle库

import 保留字
引入了一个绘图库
名字叫: turtle没错,就是 海龟

Python计算生态 = 标准库 + 第三方库
标准库: 随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块

Python 的 turtle 库是一个直观有趣的图形绘制函数库。turtle(海龟)图形绘制的概念诞生于 1969年,并成功应用于LOGO编程语言。由于 turtle 图形绘制概念十分直观且非常流行,Python 接受了这个概念,形成了一个Python 的turtle库,并成为标准库之一。

后续章节将全面介绍 turtle 库的使用,为了介绍Python模块编程思想并解释“Python蟒蛇绘制”程序,本章将结合实例代码介绍 turtle 库中部分函数的使用,这些函数将同时用于后续章节的部分实例中。

turtle(海龟)库是turtle绘图体系的Python实现
turtle绘图体系: 主要用于程序设计入门,Python语言的标准库之一,入门级的图形绘制函数库

3. 面向对象编程风格


通过库引用,使用turtle库,扩充Python程序功能.
使用import保留字完成,采用.()编码风格
import <库名>
<库名>.<函数名>(<函数参数>)

实例代码的第3行到第17行调用了 turtle库中若干函数来绘制Python蟒蛇,所有被调用的函数都使用了.b>()形式。这种通过使用函数库并利用库中函数进编程的方法是 Python 语言最重要的特点,称为“模块编程”。后续章节将详细介绍Python 模块编程思想以及面向“计算生态”的理念。
面向对象编程:

面向对象编程(OOP)是一种基于对象(Object)的编程范式。对象是事物的一种抽象,它是一个实体,包含属性和方法两部分属性是对象中的变量,方法是对象能够完成的操作。
假设对象是0,则O.a 表示对象O的属性 a,O.b()表示对象O的操作b(),其中a是一个变量值,b()是一个函数。例如,一辆汽车可以作为一个对象,标记为C,汽车的颜色是汽车的属性,表示为 C.color,前进是汽车的一个动作,相当于一个功能,因此前进是对象C 的方法,表示为 O.forward().

3.1 import更多玩法

3.1.1使用from和import保留字共同完成

from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)

第一种方法不会出现函数重名问题,第二种方法会出现

3.1.2 使用import和as保留字共同完成

import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字

4.turtle的原(wan)理 (fa)

turtle(海龟)是一种真实的存在
有一只海龟,其实在窗体正中心,在画布上游走
走过的轨迹形成了绘制的图形
海龟由程序控制,可以变换颜色、改变宽度等

4.1 turtle绘图窗体布局—turtul.setup()

turtle.setup(width, height, startx, starty)

  • setup()设置窗体大小及位置
  • 4个参数中后两个可选
  • setup()不是必须的

4.2 turtle空间坐标体系—turtle.goto()、turtle.circle()

4.2.1 turtle.goto(x, y)

在这里插入图片描述

4.2.2 turtle.circle(r,angle)

4.3 turtle角度坐标体系—turtle.seth()、turtle.left()、turtle.right()

4.3.1 turtle.seth(angle)

  • seth0改变海龟行进方向
  • angle为绝对度数
  • seth0只改变方向但不行进

4.3.2 left(angle)、turtle.right(angle)

4.4 turtle的RGB色彩模式

RGB色彩模式
由三种颜色构成的万物色
RGB指红蓝绿三个通道的颜色组合
覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数

默认采用小数值 可切换为整数值
turtle.colormode(mode)

  • 1.0: RGB小数值模式
  • 255: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.done()函数 文件式程序程序结束时不能自动退出,要手动关闭窗体退出退出.如果希望自动退出,不写turtle.done()

循环语句与range()函数

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东小程序折叠屏适配探索 | 京东云技术团队

前言 随着近年来手机行业的飞速发展&#xff0c;手机从功能机进入到智能机&#xff0c;手机屏幕占比也随着技术和系统的进步越来越大&#xff0c;特别是Android 10推出以后&#xff0c;折叠屏逐渐成为Android手机发展的趋势。 图 1 Android手机屏幕发展趋势 京东小程序近年来…

Python程序员辞职后,如何踏出自由职业的第一步,聊聊我自己的看法

大家好&#xff0c;我是兴哥。有个广州的朋友说他辞职了&#xff0c;想要自由职业该怎么开始第一步呢&#xff1f;我问他你之前的收入月薪是多少&#xff0c;他说2万出头。我不得不说&#xff0c;对于写项目的自由职业程序员&#xff0c;2万是一个极高的门槛。但既然他已经辞职…

第三十章 React的路由基本使用

关于React路由&#xff0c;我们在学习之前先了解一下其他知识点&#xff1a;SPA应用、路由的理解、react中如何使用路由。 SPA应用的理解 我们知道React脚手架给我们构建的是一个单页应用程序&#xff08;SPA&#xff09;&#xff0c;在页面加载时&#xff0c;只会加载一个HT…

2.Redis入门概述

1.Redis是什么 Remote Dictionary Server(远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c; 是一个高性能的Key-Value数据库&#xff0c; 提供了丰富的数据结构&#xff0c;例如String、Hash、List、Set、SortedSet等等。 数据是存在内存中的&a…

学会这几个Word技巧,让你办公省时又省力(二)

Word是我们经常用到的办公软件&#xff0c;下面分享的几个小技巧&#xff0c;可以提高你的办公效率&#xff0c;一起看看吧。 1. 改变Word文档的背景颜色 有时候我们打开的Word文档是有颜色的&#xff0c;如果你想恢复白色背景&#xff0c;或者改成其他颜色&#xff0c;只…

《Linux 内核设计与实现》08. 下半部和推后执行的工作

文章目录 下半部软中断软中断的实现使用软中断 tasklettasklet 的实现使用 tasklet 工作队列工作队列的实现使用工作队列 下半部 中断处理程序的局限性&#xff1a; 中断处理程序以异步方式执行&#xff0c;并且可能打断其它代码&#xff0c;因此为了避免被打断的代码停止时间…

PR控制以及使用PR控制用于单相离/并网逆变器

文章目录 前言基本知识实际使用单相离网逆变器单相并网逆变器 PR控制器离散化基本知识 DSP实现总结 前言 最近想学习一下并网逆变器&#xff0c;需要用到PR控制&#xff0c;全网找遍了许多学习资料&#xff0c;终于掌握的差不多了&#xff0c;在此做个记录&#xff0c;以及个人…

【每日一题】23年4月

文章目录 C 技术点多边三角形剖分的最低得分&#xff08;dp思路&#xff0c;选不选问题&#xff09;移动石子到连续&#xff08;思路&#xff09;1027. 最长等差数列(动态规划)1105. 填充书架&#xff08;动态规划&#xff09;1031 两个非重叠子数组的最大和1163.按字典序排在最…

【Java 】从源码全面解析Java 线程池

文章目录 一、引言二、使用三、源码1、初始化1.1 拒绝策略1.1.1 AbortPolicy1.1.2 CallerRunsPolicy1.1.3 DiscardOldestPolicy1.1.4 DiscardPolicy1.1.5 自定义拒绝策略1.2 其余变量 2、线程池的execute方法3、线程池的addWorker方法3.1 校验3.2 添加线程 4、线程池的 worker …

PostgreSQL 基础知识:psql 提示和技巧

对于积极使用和连接到 PostgreSQL 数据库的任何开发人员或 DBA 来说&#xff0c;能够访问psql命令行工具是必不可少的。在我们的第一篇文章中&#xff0c;我们讨论了 psql的简要历史&#xff0c;并演示了如何在您选择的平台上安装它并连接到 PostgreSQL 数据库。 在本文中&…

使用腾讯云快速完成网站备案的详细过程

最近总是被备案弄得血压飙升&#xff0c;明明是一件很简单的事情&#xff0c;不知道大家为什么搞得那么复杂&#xff0c;首先了解下为什么要备案&#xff0c;根据国务院令第292号《互联网信息服务管理办法》和 《非经营性互联网信息服务备案管理办法》规定&#xff0c;国家对经…

【TCP四次挥手】

文章目录 TCP 四次挥手过程是怎样的&#xff1f;为什么挥手需要四次&#xff1f;第一次挥手丢失了&#xff0c;会发生什么&#xff1f;第二次挥手丢失了&#xff0c;会发生什么&#xff1f;第三次挥手丢失了&#xff0c;会发生什么&#xff1f;第四次挥手丢失了&#xff0c;会发…

Lecture 13(Extra Material):Q-Learning

目录 Introduction of Q-Learning Tips of Q-Learning Double DQN Dueling DQN Prioritized Reply Multi-step Noisy Net Distributional Q-function Rainbow Q-Learning for Continuous Actions Introduction of Q-Learning Critic: The output values of a critic…

为生信写的Python简明教程 | 视频3

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在&#xff1a;https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

PySpark基础入门(7):Spark SQL

概述 SparkSQL和Hive的异同 Hive和Spark 均是&#xff1a;“分布式SQL计算引擎”SparkSQL使用内存计算&#xff0c;而Hive使用磁盘迭代&#xff0c;所以SparkSQL性能较好二者都可以运行在YARN之上SparkSQL无元数据管理&#xff0c;但可以和hive集成&#xff0c;集成之后可以借…

极光笔记 | 极光推出“运营增长”解决方案,开启企业增长新引擎

摘要&#xff1a; 移动互联网流量红利见底&#xff0c;营销获客面临更多挑战 随着移动互联网流量红利见顶&#xff0c;越来越多的企业客户发现获取新客户的难度直线上升&#xff0c;获客成本持续攀高。 传统的移动互联网营销以PUSH为代表&#xff0c;采用简单粗暴的方式给用户…

PaddleVideo 简介以及文件目录详解

简介特性许可证书 PaddleVideo 文件目录总述applications 文件夹详述configs 文件夹详述docs 文件夹详述paddlevideo 文件夹详述utils 文件夹tasks 文件夹loader 文件夹modeling 文件夹solver 文件夹metrics 文件夹 简介 PaddleVideo 旨在打造一套丰富、领先且实用的 Video 工…

【阿里云】秒懂云通信

目录 一、秒懂云通信-第一回听什么? 二、短信的使用场景 1. 短信的三种类型&#xff1a;短信通知、验证、会员营销 三、短信平台的选择 1、看成功率 2、看价格 3、看体验 四、秒懂云通信 五、如何使用 Step 1&#xff1a;业务入口 Step 2&#xff1a;注册账号 Step…

云安全技术——Snort安装与配置

目录 一、Snort简介 二、安装Centos7 Minimal系统 三、基本环境配置 四、安装Snort 五、下载规则 六、配置Snort 七、测试Snort 一、Snort简介 Snort是一个开源的网络入侵检测系统&#xff0c;主要用于监控网络数据包并检测可能的攻击行为。它可以实时分析网络流量&…

HJ37 统计每个月兔子的总数

HJ37 统计每个月兔子的总数 描述示例解题思路以及代码分析解法1解法2 描述 描述 有一种兔子&#xff0c;从出生后第3个月起每个月都生一只兔子&#xff0c;小兔子长到第三个月后每个月又生一只兔子。 例子&#xff1a;假设一只兔子第3个月出生&#xff0c;那么它第5个月开始会…