主要参考来源:慕课嵩天老师的“Python语言程序设计”[https://www.icourse163.org/course/BIT-268001?tid=1468130447]
2.1深入理解Python语言
计算机技术的演进:
1946-1981 | 1981-2008 | 2008-2016 | 2016- |
---|---|---|---|
计算机系统结构时代 | 网络和视窗时代 | 复杂信息系统时代 | 人工智能时代 |
计算能力问题 | 交互问题 | 数据问题 | 人类的问题 |
编程语言的多样初心:
编程语言 | 学习内容 | 语言本质 | 解决问题 | 适用对象 |
---|---|---|---|---|
C | 指针、内存、数据类型 | 理解计算机系统结构 | 性能 | 计算机类专业 |
Java | 对象、跨平台、运行时 | 理解主客体关系 | 跨平台 | 软件类专业 |
C++ | 对象、多态、继承 | 理解主客体关系 | 大规模程序 | 计算机类专业 |
VB | 对象、按钮、文本框 | 理解交互逻辑 | 桌面应用 | 不确定 |
Python | 编程逻辑、第三方库 | 理解问题求解 | 各类问题 | 所有专业 |
Python语言的特点:
Python语言是通用语言、脚本语言、开源语言、跨平台语言、多模型语言,语法简洁,生态高产
语言 | 特点 |
---|---|
C/C++ | 区别于Python,更贴近底层,运行速度快 |
Java | 针对特定开发和岗位需求 |
HTML/CSS/JS | 不可替代的前端技术,全栈能力 |
R/Go/Matlab等其他语言 | 特定领域 |
编程语言种类的发展:
- 超级语言 -粘性整合已有程序,具备庞大计算生态
- 高级语言 -接近自然语言,编译器,与CPU型号无关
- 汇编语言 -有助记符,汇编器,与CPU型号相关
- 机器语言 -代码直接执行,与CPU型号有关
2.2实例2:Python蟒蛇绘制:
#PythonDraw.py
import turtle #引入绘图库turtle
turtle.setup(650,350,200,200)
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()
2.3模块1:turtule的使用:
turtle库基本介绍:
turtle库是turtle绘图体系的Python实现,是Python语言的标准库之一
turtle库绘图窗体布局:
turtle的绘图窗体:turtle的一个画布空间,最小单位是像素
turtle.setup(width,height,startx,starty) #设置窗体大小和位置的,非必须
turtle空间坐标体系:
绝对坐标系:
turtle.goto(x,y) #海龟到画布中某个位置
海龟坐标系:
turtle角度坐标体系:
绝对角度:
turtle.seth(angle) #改变海龟行进方向,angle为绝对角度
海龟角度:
turtle.right(angle) #改变海龟行进方向,对应的还有left
RGB色彩体系:
RGB指红蓝绿三个通道的颜色组合,每色取值范围整数0-255或小数0-1
默认采用小数值,可切换至整数值
turtle.colormode(mode)
2.4turtle程序语法元素分析
库引用与import:(方法2可能存在重名问题)
- import <库名>
<库名>.<函数名>(<函数参数>) - from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>) - 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(colorstring)/pencolor(r,g,b)/pencolor((r,g,b))
turtle运动控制函数:
- turtle.forward(d),别名turtle.fd(d),d为行进距离,可为负数
- turtle.circle(r,extent=None),r默认圆心在海龟左侧r距离的位置,extent绘制角度,默认360°整圆
turtle方向控制函数:
- turtle.setheading(angle),别名turtle.seth(angle),改变行进方向,angle为行进方向的绝对角度
- turtle.left(angle),海龟左转
- turtle.right(angle),海龟右转
基本循环语句:
按照一定次数循环执行一组语句:
for <变量> in range(<次数>):
<被循环执行的语句>
- <变量>表示每次循环的计数,0到<次数>-1
产生循环计数序列:
- range(N) 产生0到N-1的整数序列,共N个
- range(M,N) 产生M到N-1的整数序列,共N-M个
“Python蟒蛇绘制”代码分析:
#PythonDraw.py
import turtle #引入绘图库turtle
turtle.setup(650,350,200,200) #设置画布窗体大小和位置
turtle.penup() #起笔,海龟飞行
turtle.fd(-250) #海龟向正前方向运动
turtle.pendown() #落笔,海龟落到画布上
turtle.pensize(25) #设置画笔宽度
turtle.pencolor("purple") #设置画笔颜色
turtle.seth(-40) #设置海龟朝向,准备作画
for i in range(4): #循环4次,画出蟒蛇的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() #作画结束,需手动关闭窗口
绘制结果: