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)

Python基本图形绘制_第1张图片

海龟坐标

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)

Python基本图形绘制_第2张图片

2.3.5RGB色彩体系

由三种颜色构成的万物色

  • RGB指红蓝绿三个通道的颜色组合
  • 覆盖视力所能感知的所有颜色
  • RGB每色取值范围0-255整数或0-1小数
英文名称 RGB整数值 RGB小数值 中文名称
white 255,255,255 1,1,1 白色
yellow 255,255,0 1,1,0 黄色
magenta 255,0,255 1,0,1 洋红
cyan 0,255,255 0,1,1 青色
blue 0,0,255 0,0,1 蓝色
black 0,0,0 0,0,0 黑色
seashell 255,245,238 1,0.96,0.93 海贝色
gold 255,215,0 1,0.84,0 金色
pink 255,192,203 1,0.75,0.80 粉红色
brown 165,42,42 0.65,0.16,0.16 棕色
purple 165,32,240 0.63,0.13,0.94 紫色
tomato 255,99,71 1,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()#程序运行之后不会推出窗体

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

你可能感兴趣的:(python,开发语言)