Python基本图形绘制

Python学习笔记——Python基本图形绘制

2.1 深入理解Python语言
2.1.1计算机技术的演进

1946(第一台计算机的诞生)-1981(第一台IBM PC机的诞生):计算机系统结构时代

1981(第一台IBM PC机的诞生)-2008(安卓操作系统的诞生–"PC时代"向移动时代转换):网络和视窗时代

2008-2016:复杂信息系统时代

2016- 至今:人工智能时代

2.1.2编程语言的多样初心

C语言

  • 学习内容:指针、内存、数据类型
  • 语言本质:理解计算机系统结构
  • 解决问题:性能

Java

  • 学习内容:对象、跨平台、运行时
  • 语言本质:理解主客体关系
  • 解决问题:跨平台

C++

  • 学习内容:对象、多态、继承
  • 语言本质:理解主客体关系
  • 解决问题:大规模程序

VB

  • 学习内容:对象、按钮、文本框
  • 语言本质:理解交互逻辑
  • 解决问题:桌面应用

Python

  • 学习内容:编程逻辑、第三方库
  • 语言本质:理解问题求解
  • 解决问题:各类问题
2.1.3Python语言的特点

Gudio van Rossum Python语言创立者

  • Python语言是通用语言
  • Python语言是脚本语言
  • Python语言是开源语言
  • Python语言是跨平台语言
  • Python语言是多模型语言

Python特点与优势

  • C代码量的10%
  • 强制可读性
  • 较少的底层语法元素
  • 多种编程方式
  • 支持中文字符
2.1.4“超级语言”的诞生

编程语言的种类

机器语言

  • 一种二进制语言,直接使用二进制代码表达指令
  • 计算机硬件(CPU)可以直接执行,与具体CPU型号有关
  • 完成2+3功能的机器语言

​ 11010010 00111011

汇编语言

  • 一种将二进制代码直接对应助记符的编程语言
  • 汇编语言与CPU型号有关,程序不通用,需要汇编器转换
  • 完成2+3功能的汇编语言

​ add 2 ,3,result

高级语言

  • 更接近自然语言,同时更容易描述计算问题
  • 高级语言代码与具体CPU型号无关,编译后运行
  • 完成2+3功能的机器语言

​ result = 2 + 3

超级语言

  • 具有庞大计算生态,可以很容易利用已有代码功能
  • 编程思维不再是刀耕火种而是集成开发
  • 完成2+3功能的机器语言

​ result = sum(2,3)

2.2 实例2:Python蟒蛇绘制
2.2.1问题分析

设计蟒蛇的形状

2.2.2编写分析
#PythonDraw.py
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()

#import 保留字 引入了一个绘图库 名字叫:turtle

2.3 模块1:turtle库的使用
2.3.1turtle库基本介绍

turtle(海龟)库是turtle绘图体系的Python实现

  • turtle绘图体系:1969年诞生,主要用于程序设计
  • Python语言的标准库之一
  • 入门级的图形绘制函数库

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

  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要经过安装才能使用的功能模块
  • 库Library、包Package、模块Module,统称模块
2.3.2turtle绘图窗体介绍

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

  • setup()设置窗体大小及位置
  • 4个参数中后两个可选
  • 宽度和高度指的是窗体本身的宽度和高度;起始点坐标指窗体的左上角位置的坐标,左上角位置的坐标指的是左上角位置相对于屏幕的左上角的坐标
  • setup()不是必须的
2.3.3turtle空间坐标体系

绝对坐标

turtle.goto(x,y)

import turtle
turtle.setup(500,500,0,12)
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)

image-20220925150703491

海龟坐标

turtle.fd(d)——向海龟的正前方向运行

turtle.bk(d)——向海龟的反方向运行

turtle.circle(r,angle)——以海龟当前位置左侧某一个点为圆心曲线运行

2.3.4turtle角度坐标体系

绝对角度

turtle.seth(angle)

  • seth()改变当前海龟的行进角度
  • seth()只改变方向但不行进
  • angle为绝对度数

海龟角度

turtle.left(angle)——向左改变运行方向

turtle.right(angle)——向右改变运行方向

import turtle
turtle.setup(700,700)
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

image-20220925152146995

2.3.5RGB色彩体系

由三种颜色构成的万物色

  • RGB指红蓝绿三个通道的颜色组合
  • 覆盖视力所能感知的所有颜色
  • RGB每色取值范围0-255整数或0-1小数
英文名称RGB整数值RGB小数值中文名称
white255,255,2551,1,1白色
yellow255,255,01,1,0黄色
magenta255,0,2551,0,1洋红
cyan0,255,2550,1,1青色
blue0,0,2550,0,1蓝色
black0,0,00,0,0黑色
seashell255,245,2381,0.96,0.93海贝色
gold255,215,01,0.84,0金色
pink255,192,2031,0.75,0.80粉红色
brown165,42,420.65,0.16,0.16棕色
purple165,32,2400.63,0.13,0.94紫色
tomato255,99,711,0.39,0.28番茄色

默认采用小数值 可切换为整数值

turtle.colormode(mode)

  • 1.0:RGB小数值模式
  • 255:RGB整数值模式
2.4 turtle程序语法元素分析
2.4.1库引用与import

库引用——扩充Python程序功能的方式

  • 使用import保留字完成,采用< a >.< b >()编码风格

​ import <库名>

​ <库名>.<函数名>(<函数参数>)

import

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

​ from<库名>import<函数名>

​ from<库名>import*

​ <函数名>(<函数参数>)

优化后的蟒蛇绘制

#PythonDrawAedtion.py
from turtle import*
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
    circle(40,80)
    circle(-40,80)
circle(40,80/2)
fd(40)
circle(16,180)
fd(40*2/3)
done()

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

​ import<库名>as<库别名>

​ <库别名>.<函数名>(<函数参数>)

  • 给调用的外部库关联一个更短、更适合自己的名字
#PythonDrawAedtion.py
import turtle as t
t.setup(650,350,200,200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
    t.circle(40,80)
    t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t,done()
2.4.2turtle画笔控制函数

penup(),pendown()

pensize(),pencolor()

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

  • turtle.penup() 别名 turtle.pu()

​ 抬起画笔,海龟在飞行

  • turtle.pendown() 别名turtle.pd()

      	   落下画笔,海龟在爬行
    

画笔设置后一直有效,直至下次重新设置

  • turtle.pensize(width) 别名 turtle.width(width)

​ 画笔宽度,海龟的腰围

  • turtle.pencolor(color) color为颜色字符串或r,g,b值

​ 画笔颜色,海龟在涂装

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

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

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

  • turtle.forward(d) 别名 turtle.fd(d)

​ 向前行进,海龟走直线

  • d:行进距离,可以为负数
  • turtle.circle(r,extent = None)

​ 根据半径r绘制extent角度的弧形

  • r:默认圆心在海龟左侧 r距离的位置
  • extent:绘制角度,默认是360度整圆
2.4.4turtle方向控制函数

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

  • turtle.setheading(angle) 别名 turtle.seth(angle)

​ 改变行进方向,海龟走角度

  • angle:改变行进方向,海龟走角度
  • turtle.left(angle) 海龟向左转
  • turtle.right(angle) 海龟向右转
  • angel:在海龟当前行进方向上旋转的角度
2.4.5基本循环语句

循环语句

按照一定次数循环执行一组语句

​ for<变量>in range(<参数>)

​ <被循环执行的语句>

  • <变量>表示每次循环的计数,0到<次数>-1

range函数

产生循环计数序列

  • range(N)

​ 产生0到N-1的整数序列,共N个

  • range(M,N)

​ 产生M到N-1的整数序列,共N-M个

2.4.6“Python蟒蛇绘制“代码分析
#PythonDraw.py                
import turtle   #导入海龟绘图体系
turtle.setup(650,350,200,200)#使用setup函数设置一个窗体
turtle.penup()#将画笔抬起
turtle.fd(-250)#让海龟倒退向后行进250个像素
turtle.pendown()#将海龟落下
turtle.pensize(25)#设定当前画笔宽度为25个像素
turtle.pencolor("purple")#画笔颜色为purple
turtle.seth(-40)#将海龟方向改为-40度方向
for i in range(4):
    turtle.circle(40,80)#利用circle函数使海龟走曲线,使用40像素为半径绘制80度的弧度
    turtle.circle(-40,80)#使用反向40像素为半径绘制80度的弧度
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()#程序运行之后不会推出窗体

个人学习记录会持续更新,不喜勿碰,如有指导建议,欢迎评论区留言,谢谢!!!

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Augenstern K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值