已经开始了正式的课程,是不是觉得一下就一点儿枯燥了,没有了前两天那种轻松的心情,不过这就是学习嘛。因为自己还在学习这方面的内容,所以不好在此基础上发挥过多,当然会尽量的加一些轻松的内容来丰富一下气氛吧。
周末两天花时间看了李开复老师的《AI未来》一书,因此这两天我也没有更内容。我觉得这本书讲的蛮好的,它是李老师对AI未来的一些分析预测,分析了AI带来了什么?将会改变什么?威胁和机会都会是什么……如果有时间,我会把我对这本书的理解和感悟写出来,到时候链接会po在此地。
好了,还是回归继续我们的学习吧。
Python语言应该大家都知道,它是目前现有包最多的语言,我们可以直接调取现有的包进行操作,这时候就是发挥我们最优势的地方了——懒。比如我们以下面这个实例作为我们调用包的实例来学习图形绘制。
Python这个单词的英文意思为“蟒蛇”,那我们就以绘制python图形作为我们的实例吧。(讲道理,我是怕蛇的,也就是因为这个简单,大家可以试试其他的图形,比如花)
-问题1 计算机绘图是什么原理?
一段程序为何能够产生窗体?为何能在窗体上绘制图形?
-问题2 Python蟒蛇绘制从哪里开始呢?
如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?
话不多说,先放代码。代码如图:
python蟒蛇绘制代码(图片来源中国大学mooc网 嵩天老师 侵权删)import 保留字,引入一个绘图库,名字叫:turtle
1. turtle 库的使用
-turtle 库基本介绍
-turtle 绘图窗体布局
-turtle 空间坐标体系
-turtle 角度坐标体系
-RGB 色彩体系
2.turtle 程序语法元素分析
-库引用与 import
-turtle 画笔控制函数
-turtle 运动控制函数
-turtle 方向控制函数
-循环语句与 range() 函数
1. turtle 库的使用
1.1 turtle 库概述
turtle(海龟)库是turtle绘图体系的Python实现
-turtle 绘图体系:1969年诞生,主要用于程序设计入门
-Python语言的标准库之一
-入门级的图形绘制函数库
Python计算生态 = 标准库 + 第三方库
-标准库:随解释器直接安装到操作系统中的功能模块
-第三方库:需要经过安装才能使用的功能模块
-库Library、包Package、 模块Module ,统称模块
turtle的原理
turtle(海龟)是一种真是的存在
-可以想象有一只海龟,其实在窗体的正中心,在画布上游走
-走过的轨迹形成了绘制的图形
-海龟由程序控制,可以变换颜色、改变宽度等
海龟爬行足迹由turtle库开始我们学习引入库,接下来我们就像图片的小海龟一样,一步步走出自己的足迹,走向python的海洋。记住,我们的征途是星辰大海……
1.2 turtle绘图窗体
turtle绘图窗体(图片来自网络)turtle.setup(宽度, 高度,起始点横坐标,起始点纵坐标)
-setup() 设置窗体大小及位置
-4个参数中后两个可选,若未设定窗体坐标,则默认窗体在屏幕中心(以屏幕左上角为原点的相对坐标)
-setup() 不是必须的 (需要窗体时才有创建窗体的操作)
1.3 turtle 空间坐标体系
窗体坐标系图(图片来自网络)turtle 绝对坐标即窗体的坐标,turtle.goto(x, y) 表示海龟向(x,y)这一点前进
海龟相对坐标(图片来自网络)turtle 相对坐标表示的是以海龟的角度出发的相对位置
-turtle.fd(d) 向前,turtle.bk(d) 后退,turtle.circle(r, angle) 以海龟当前位置左侧某点为圆心进行曲线运行
1.4 turtle 角度坐标体系
绝对角度(图片来自网络)turtle.seth(angle)
-seth() 改变海龟行进方向
-seth() 只改变方向但不行进
-angle 为绝对度数
海龟相对角度(图片来自网络)以海龟面朝方向的左右侧做相对角度选择
例如以下案例:
(图片来自网络)turtle 运行轨迹为:向左转45度,前进150,向右转135度,向前行进300,向左转135度,前进150。 图中的角度均为相对角度,即与海龟面向所形成的角度
1.5 RGB色彩模式
由三种颜色构成的万物色
-RGB 指红绿蓝三个通道的颜色组合
-覆盖视力所能感知的所有颜色
-RGB 每色取值范围0-255 整数或 0-1 小数
常用RGB色彩(图片来自网络)turtle.colormode(mode)
-1.0:RGB 小数值模式
-255:RGB 整数值模式
2. turtle 库语法元素分析
2.1 turtle 程序语法元素分析
库引用:扩充python程序功能的方式
-使用import 保留字完成,采用<a>.<b>() 编码风格,
import<库名>
<库名>.<函数名>(<函数参数>)
-使用from 和 import 保留字共同完成
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
两种引用函数方法:
两种引入库方法(图片来自网络)两种方法比较:
-第一种方法不会出现函数重名问题
-第二种方法会出现
import 更多用法
使用import 和as 保留字共同完成
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
-给调用的外部库关联一个更短、更适合自己的名字
引入库别名(图片来自网络)2.2 turtle 画笔控制函数
画笔操作后一直有效,一般成对出现
-turtle.penup() 别名turtle.pu() 抬起画笔,海龟在飞行(不在画布形成图案)
-turtle.pendown() 别名turtle.pd() 落下画笔,海龟在爬行
-turtle.pensize(width) 别名turtle.width(width) 画笔宽度,海龟的腰围
-turtle.pencolor(color) color为颜色字符串或r,g,b值 画笔颜色,海龟在涂装
-颜色字符串 :turtle.pencolor("purple")
-RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94)
-RGB的元组值:turtle.pencolor((0.63, 0.13, 0.94))
2.3 turtle 运动控制函数
控制海龟行进:走直线&走曲线
-turtle.forward(d) 别名turtle.fd(d) 向前行进,海龟走直线 d为行进距离,可为负
-turtle.circle(r, extent = None) 根据半径r绘制extent角度的弧形
r为默认圆心在海龟左侧r距离的位置, extent为绘制角度,默认是360度整圆
turtle.circle()函数(图片来自网络)2.4 turtle 方向控制函数
控制海龟面对方向:绝对角度&海龟角度
-turtle.setheading(angle) 别名turtle.seth(angle) 改变行进方向,海龟走角度(绝对角度)
-turtle.left(angle) 和turtle.right(angle) 改变行进方向,海龟走角度(相对角度)
2.5循环语句与range()函数
按照一定次数循环执行一组语句
for <变量> in range(<函数名>)
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数> -1
range()函数 产生循环计数序列
-range(N) 产生 0 到 N-1 的整数序列,共N个
-range (M,N) 产生 M 到 N-1 的整数序列,共N-M个
这一天课程写完到底还是花了一些时间,也不扯多的理由,其实就是懒劲又起来了,还有一些课程会尽快更完(不敢立flag了)。不给自己压力了,要不然其他事情做不好又拿这个作借口安慰自己。
网友评论