目录
一、第一周回顾
二、计算机技术的演进
三、编程语言的初心
编程语言的种类
不同的语言
四、python语言的特点
五、turtle库的使用
turtle背景介绍
import
一张纸——turtle绘图窗体
一支笔——画笔控制函数
turtle空间坐标体系——利用空间坐标改变位置
turtle角度坐标体系
for和in
一、第一周回顾
保留字:保留字一共有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个。