目录
一、第一周回顾
保留字:保留字一共有33个,红色部分的在python中用不到,只有Ture、False以及None是大写字母,别的都不是。就是我们不能用保留字定义字符串等

二、计算机技术的演进
- 计算机系统结构时代(1946-1981):研制不同类型的计算机、计算机的体系结构、CPU,操作系统,编译器,解释器等不同的软件,主要是为了提升计算机自身的能力。
 - 网络和视窗时代(1981-2008):互联网Window视窗操作系统,主要是为了接人人机交互问题。
 - 2008年,安卓操作系统诞生,PC时代向移动时代转换。
 - 复杂信息时代(2008-2016):出现了很多新名词:网络安全(系统复杂)、云计算、大数据等。所有的信息都可以数据化,这一时期主要是为了解决数据问题。
 - 2016-:人工智能,计算机的应用早已无孔不入,如今就是为了解决人类问题。我们现在处于新计算时代。
 
三、编程语言的初心
编程语言的种类
- 机器语言:二进制语言,用二进制代码表达指令;
 - 计算机硬件可以直接执行,与CP型号无关。
 - ej:完成2+3功能的机器语言:11010010 00111011
 - 汇编语言:是一种将二进制代码直接对应助记符的编程语言;
 - 与CPU型号有关;
 - 程序不通用,需要汇编器转换。
 - ej:完成2+3的汇编语言:add 2,3,result
 - 高级语言:更接近自然语言,同时更容易描述计算问题;
 - 与CPU型号无关;
 - 编译后运行。
 - ej:完成2+3的高级语言:result = 2 + 3
 - 超级语言:粘性整合已有程序,具备庞大计算生态,可以很容易利用已有代码功能;
 - 编程思维是集成开发。
 - ej:完成2+3的超级语言:result = sum(2,3)
 -  
不同的语言
 - C
 - 学习内容:指针、内存、数据类型
 - 语言本质:理解计算机系统结构
 - 解决问题:性能
 - 关心内存,不然程序不好运行,计算机硬件没有那么多的内存和资源
 - java
 - 学习内容:对象、跨平台、运行时
 - 语言本质:理解主客体关系
 - 解决问题:跨平台和程序中的交互问题
 - C++(C语言的演进)
 - 学习内容:对象、多台、跨平台
 - 语言本质:理解主客体关系
 - 解决问题:大规模程序
 - VB
 - 学习内容:对象、按钮、文本框
 - 语言本质:理解交互逻辑
 - 解决问题:桌面应用
 - Python
 - 学习内容:编程逻辑、第三方库
 - 语言本质:理解问题求解
 - 解决问题:各类问题
 
- 补充:
 - C/C++:Python可以调用C写的接口代码,且不占用内存;
 - JAVA:针对特定开发和岗位需求;
 - HTML/CSS/JS:不可替代的前端技术,全栈能力;
 - 其他语言:R/GO/MATLAB,特定领域
 -  
四、python语言的特点
 
- python是通用、脚本、开源、跨平台、多模型语言。
 - 具有强制可读性:缩进是语法规则
 - 较少的底层语法元素:不需要操作内存和低级接口
 - 多种编程方式
 - 支持中文字符
 - 代码量是c的10%
 
13万的第三方库,且仍然在快速增长。Python的计算生态由标准库和第三方库组成。标准库是随解释器直接安装到操作系统中的功能模块,标准库包括库Library、包Package、模块Module,统称模块。第三方库需要经过安装才能使用的功能模块。我们可以把这些库想象成一个森林,森林里的每一棵树都有自己的作用。
- 开放共享
 - 跨操作系统平台
 - 避免重复造轮子
 
五、turtle库的使用
在正式介绍之前,我们可以想象一下,我们自己在画画的时候,我们会需要一张纸,很多不同颜色的笔,以及绘画目标,才能够完成绘画。
turtle背景介绍
turtle于1969年问世,用于程序设计入门。turtle库是turtle绘图体系的Python实现,是入门级的图形绘制函数。
import
Import是保留字之一,用于扩充Python程序功能。有三种形式:
- import <库名>
 - <库名>.<函数名>(<函数参数>
 - ej:
 -  
import turtle turtle.setup(650,350,100,100) - from <库名> import*
 - <函数名>(<函数参数>)
 - ej:
 -  
from turtle import* setup(650,350,100,100) - Import <库名>as <字母>
 - <字母>.<函数名>(<函数参数>)
 - ej:
 -  
import turtle as t t.setup(650,350,100,100) 
一张纸——turtle绘图窗体
turtle的绘图窗体是turtle的一个画布空间,也就是那张纸。窗口使用的最小单位是像素。
代码:
turtle.setup(width,height,startx,starty) 
它是用来设置窗体的大小和位置的。Width表示画布的宽度,height表示画布的高度。Startx,starty表示画布左上角在屏幕的位置。如果没有(startx,sarty)就默认为(0,0)。不过setup()也不是必须的。

一支笔——画笔控制函数
- 1. 画笔操作后一直有效,一般成对出现
 - turtle.penup():别名 turtle.up(),通俗地讲就是把画笔拿出来
 - turtle.pendown():别名turtle.pd(),通俗地讲就是开始绘画,笔头在纸上动起来。
 - 2. 画笔设置后一直有效,直至下次重新设置 
  
- 画笔是什么颜色,画笔的粗细,在我们开始绘画的时候也要选择好。
 - turtle.pensize(width):别名turtle.width(width) ,是画笔宽度。
 - turtle.pencolor(color)color为颜色字符串或RGB值
 
 - 以紫色为例:
 - 颜色字符串:turtle.pencolor("purle")
 - RGB的小数值:turtle.pencolor(0.63,0.13,0.94)
 - RGB的元祖值:turtle.pencolor((0.63,0.13,0.94))
 - 3. 补充说明RGB
 - RGB是一种色彩体系,由REB/GREEN/BLUE三种颜色可以构成万物色。RGB指红蓝绿整个通道的颜色组合,它可以覆盖视力所能感知的所有颜色,RGB每色取值范围0-255整数或者0-1小数。
 - Turtle.colormode(mode):
 - mode = 1.0为RGB小数模式,mode = 255:RGB整数值模式。
 
 
turtle空间坐标体系——利用空间坐标改变位置
- 绝对坐标:利用空间坐标改变位置 表示为:turtle.goto(x,y)
 

- 海龟坐标:海龟的当前前进方向一定是它的前进方向
 

turtle.fd(d):fd就是foward向前,d代表向前走多少个像素。
turtle.bk(d):bk就是back向后,d代表向后走多少个像素。
turtle.circle(r,angle):根据半径r绘制extent角度弧形,r默认圆心在海龟左侧r距离,半径为负数就是在海龟右侧。angle是圆心角,默认360°。
turtle角度坐标体系
- 绝对角度
 

Turtle.setheading(angle):别名turtle.seth(angle),改变海龟行进方向,只改变方向,不行进;angle为绝对角度。
- 海龟角度
 
turtle.left(angle)
turtle.right(angle)
以海龟现在的行进方向,决定向左/右转多少角度。
for和in
for和in也是保留字。
for <变量> in range(<参数>) <被循环执行的语句>
<变量>表示每次循环的计数,0到<次数>-1
比如代码:
for i in range(5):
print(“Hello:”,i) 
输出结果为:

注意print()中的“,”代表空格。
range()是一个产生循环计数序列的函数 range(N)产生0到N-1的整数序列,共N个 range(M,N)产生M到N-1的整数序列,共N-M个。










