Python程序设计基础(第二周)学习总结
大家好,我是Leo,从暑假开始到现在已经接触Python两周了,还是会将这周所学习到的东西以博客的方式总结下来,希望自己能坚持下来。一起加油,共勉!
本周总结奉上,希望自己能坚持下去!
方法论
一.深入了解Python语言
1. 计算机技术的演进
1946—1981 计算机系统结构时代 : 计算能力问题
1981—2008 网络和视窗时代 : 交互问题
2008—2016 复杂信息系统时代 : 数据问题
2016—?? 人工智能时代 : 人类的问题
2. 编程语言的多样初心
编程语言有哪些?
Basic,C,C++,C#,CSS,Fortran,Go,HTML,Java,
JavaScript,Lisp,Lua,Matlab,Object C,Pascal,Perl,PHP,
PostScript,Python,Ruby,Scala,SQL,Swift,VBA,
VB.NET,Verilog,VHDL,Visual Basic
编程语言,也是一个江湖
不同编程语言的初心和适用对象
各编程语言所处历史时期和使命不同,Python是计算时代演进的选择!
2018年以后的计算环境…
计算机性能不再是解决一般问题的瓶颈
移动互联网广泛普及
大数据,云计算,互联网,信息安全,人工智能等需求爆发
解决日益增长的计算需求,用什么语言?
3.Python语言的特点
Python语言是通用语言,脚本语言,开源语言,跨平台语言,多模型语言…
Python特点与优势
语法简洁 ; 生态高产
- C代码量的10%;>15万第三方库
- 强制可读性; 快速增长的计算生态
- 较少的底层语法元素;避免重复造轮子
- 多种编程方式; 开放共享
- 支持中文字符;跨操作系统平台
如何看待Python语言?
Python是最高产的程序设计语言
- 掌握抽象并求解计算问题综合能力的语言
- 了解产业界解决复杂计算问题方法的语言
- 享受利用编程将创新变为实现乐趣的语言
工具决定思维:关注工具变革的力量
4.“超级语言”的诞生
编程语言种类及发展
机器语言 - 代码直接执行,与CPU型号有关
汇编语言 - 有助记符,汇编器,与CPU型号有关
高级语言 -接近自然语言,编译器,与CPU型号无关
超级语言 - 粘性整合已有程序,具备庞大计算生态,集成开发
Python:唯一的“超级语言”!Python语言的前进步伐势不可挡!
二.海龟绘图体系及turtle库的使用
turtle —— 绘图库——海龟
1. turtle库基本介绍
turtle(海龟)库是 turtle绘图体系的Python实现
- turtle绘图体系:1969年诞生,主要用于程序设计入门
- Python语言的标准库之一
- 入门级的图形绘制函数库
Python计算生态 = 标准库 + 第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过安装才能使用的功能模块
- 库Library,包Package,模块Module,统称模块
turtle的原理——一种真实的存在
- 有一只海龟,在窗体正中心,在画布上游走
- 走过的轨迹形成了绘制的图形
- 海龟由程序控制,可以变换颜色,改变宽度等
turtle绘制图形欣赏
2.turtle绘图窗体布局
turtle的绘图窗体
话不多说,直接上图
import turtle
turtle.setup(width,height,startx,starty)
- setup()设置窗体大小及位置
- 4个参数中后两个可选
- setup()不是必须的
3.turtle空间坐标体系
绝对坐标
简单实例展示
import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)
运行结果如下:
海龟坐标
4.turtle角度坐标体系
绝对角度
turtle.seth(angle)
- seth()改变海龟行进方向
- angle为绝对度数
- seth()只改变方向但不行进
海龟角度
简单实例展示
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
运行结果如下:
5.RGB色彩体系
由三种颜色构成的万物色
- RGB指红绿蓝三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围0-255整数或0-1小数
常用的RGB色彩
turtle的RGB色值彩模式
默认采用小数值,可切换为整数值
turtle.colormode(1.0) #RGB小数值模式
turtle.colormode(255) #RGB整数值模式
实践能力
一.实例:Python 蟒蛇绘制
#PythonDraw.py
import 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()
运行结果如下:
二.turtle程序语法元素分析
1. 库引用与import
< a >. < b > () 的编码风格
库引用——扩充Python程序功能的方式
- 使用import保留字完成,采用< a >. < b > () 的编码风格
- import < 库名 >
- < 库名 > . < 函数名 > (< 函数参数 >)
import 更多用法
使用 from 和 import 保留字共同完成
from < 库名 > import < 函数名 >
from < 库名 > import *
< 函数名 >(< 函数参数 >)
与原来方法比,这种方法可能出现函数重名问题
使用 import 和 as 保留字共同完成
import < 库名 > as < 库别名 >
< 库别名 > . < 函数名 > ( < 函数参数 > )
2.turtle画笔控制函数
画笔操作后一直有效,一般成对出现
- turtle.penup() 别名 turtle.pu() ——抬起画笔,海龟在飞行
- turtle.pendown() 别名 turtle.pd() ——落下画笔,海龟在爬行
画笔设置后一直有效,直至下次重新设置
- turtle.pensize(width) 别名 turtle.width(width) —画笔宽度,海龟的腰围
- turtle.pencolor(color) 其中()中的color为颜色字符串或RGB值——画笔颜色,海龟在涂装
pencolor(color)的三种形式
- 颜色字符串:turtle.pencolor(“purple”)
- RGB的小数值:turtle.pencolor(0.63,0.13.0.94)
- RGB的整数值:turtle.pencolor((0.63,0.13.0.94))
3.turtle运动控制函数
控制海龟行进:走直线&走曲线
-
turtle.forward(d) 别名turtle.fd(d)
向前行进,海龟走直线 -
d:行进距离,可以为负数
-
turtle.circle( r , extent = None )
根据r绘制extent角度的弧形 -
r:默认圆心在海龟左侧r距离的位置
-
extent:绘制角度,默认是360°整圆
4.turtle方向控制函数
控制海龟面向方向:绝对角度 & 海龟角度
-
turtle.setheading ( angle ) 别名 turtle. seth ( angle )
改变行进方向,海龟走角度 -
angle:行进方向的绝对角度
-
turtle.left( angle ) 海龟向左转
-
turtle.right( angle ) 海龟向右转
-
angle:在海龟当前行进方向上旋转的角度
5.循环语句与range函数
for 和 in 保留字 range() 函数
循环语句
-
for < 变量 > in range ( < 次数 > ) :
< 被循环执行的语句 > -
< 变量 > :表示每次循环的计数,0到 < 次数 > -1
range( )函数
产生循环计数序列
- range( N ) 产生0到N - 1个整数序列,共N个
- range( M , N ) 产生 M 到 N - 1 的整数序列,共N - M个
作业实例总结
1. turtle八边形绘制
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(100)
t.left(45)
输出示例:
2.turtle八角图形绘制
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(150)
t.left(135)
输出示例:
3.turtle叠边形绘制
#TwoRoundDraw.py
import turtle as t
t.pensize(2)
for i in range(9):
t.fd(150)
t.left(80) #720/9
输出示例:
4. turtle风轮绘制
import turtle as t
t.pensize(2)
for i in range(4):
t.seth(90*i)
t.fd(150)
t.right(90)
t.circle(-150, 45)
t.goto(0,0)
输出示例:
第二周的学习总结到这里就结束了,有任何问题欢迎大家在评论区提出来,有好的建议也希望大家能指出来,大家共同进步!加油加油!冲冲冲!!