往期文章
目录
- 往期文章
- 前言
- 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()