2.1 深入理解Python语言
计算机技术的演进
1946-1981:计算机系统结构时代 (35年) ,解决计算能力问题
1981-2008:网络和视窗时代 (27年) ,解决交互问题
2008-2016:复杂信息系统时代 (8年) ,解决数据问题
2016- :人工智能时代 ,解决人类问题
编程语言的多样初心
编程语言有哪些:
Basic, C, C++, C#, CSS, Fortran, Go, HTML, Java
JavaScript, Lisp, Lua, Matlab, Object C, Pascal, Perl, PH
PostScript, Python, Ruby, Scala, SQL, Swift, VBA
VB.NET, Verilog, VHDL, Visual Basic
不同编程语言的初心和适用对象:
image-20201114101526680.png
各编程语言所处历史时期和使命不同, Python是计算时代演进的选择!
Python语言的特点
Python语言是通用语言
Python语言是脚本语言
Python语言是开源语言
Python语言是跨平台语言
Python语言是多模型语言
优势:
C代码量的10%
强制可读性
较少的底层语法元素
多种编程方式
支持中文字符
>15万第三方库
快速增长的计算生态
避免重复造轮子
开放共享
跨操作系统平台
"超级语言"的诞生
Python: 唯一的"超级语言"!
机器语言 :代码直接执行,与CPU型号有关
汇编语言 :有助记符,汇编器,与CPU型号有关
高级语言 :接近自然语言,编译器,与CPU型号无关
超级语言 :粘性整合已有程序,具备庞大计算生态
2.2 实例2:Python蟒蛇绘制
掌握绘制一条线的方法,就可以绘制整个世界
# python draw
import turtle
turtle.setup(850,550,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(10)
turtle.pencolor("red")
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()
image-20201114103959969.png
2.3 模块1:turtle库的使用
turtle库基本介绍
turtle(海龟)库是turtle绘图体系的Python实现 ,
turtle绘图体系: 1969年诞生,主要用于程序设计入门
Python语言的标准库之一
入门级的图形绘制函数库
Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块
turtle绘图窗体布局
turtle的一个画布空间,最小单位是像素
turtle的绘图窗体 :turtle.setup(width, height, startx, starty)
setup()设置窗体大小及位置
4个参数中后两个可选
setup()不是必须的
image-20201114122115518.png
image-20201114122258775.png
turtle空间坐标体系
绝对坐标:turtle.goto(x, y)
image-20201114122331716.png
image-20201114122356629.png
海龟坐标 :
image-20201114122512519.png
image-20201114122527344.png
turtle角度坐标体系
绝对角度 :turtle.seth(angle)
seth()改变海龟行进方向
angle为绝对度数
seth()只改变方向但不行进
image-20201114122615274.png
image-20201114122706317.png
image-20201114122722351.png
image-20201114122742737.png
RGB色彩体系
由三种颜色构成的万物色 :
由三种颜色构成的万物色
由三种颜色构成的万物色
RGB每色取值范围0-255整数或0-1小数
常用RGB色彩
image-20201114122838571.png
turtle.colormode(mode) :turtle.colormode(mode)
默认采用小数值 可切换为整数值
1.0: RGB小数值模式
255: RGB整数值模式
2.4 turtle程序语法元素分析
库引用与import
扩充Python程序功能的方式 :
使用import保留字完成,采用.()编码风格 。
import <库名>
<库名>.<函数名>(<函数参数>)
使用from和import保留字共同完成
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
两种方法比较:第一种方法不会出现函数重名问题,第二种方法则会出现
image-20201114123539299.png
使用import和as保留字共同完成 :给调用的外部库关联一个更短、更适合自己的名字
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
turtle画笔控制函数
画笔操作后一直有效,一般成对出现
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))
turtle运动控制函数
控制海龟行进:走直线 & 走曲线
turtle.forward(d) ,别名 turtle.fd(d) ,向前行进,海龟走直线 ,d: 行进距离,可以为负数 ,画笔设置后一直有效,直至下次重新设置
turtle.circle(r, extent=None) ,根据半径r绘制extent角度的弧形 ,r: 默认圆心在海龟左侧r距离的位置 ,extent: 绘制角度,默认是360度整圆
turtle方向控制函数
控制海龟面对方向: 绝对角度 & 海龟角度
turtle.setheading(angle) ,别名 turtle.seth(angle) ,改变行进方向,海龟走角度 ,angle: 行进方向的绝对角度
image-20201114143043595.png
turtle.left(angle) 海龟向左转
turtle.right(angle) 海龟向右转
angle: 在海龟当前行进方向上旋转的角度
基本循环语句
<变量>表示每次循环的计数, 0到<次数>-1
for <变量> in range(<次数>):
<被循环执行的语句>
range()函数 :
range(N) ,产生 0 到 N-1的整数序列,共N个 。range(5):0, 1, 2, 3, 4
range(M,N) ,产生 M 到 N-1的整数序列,共N-M个 。range(2, 5) :2, 3, 4