Python语言程序设计第二章

方法论
-python语言及海龟绘图体系
实践能力
-初步学会使用Python绘制简单图形

深入理解Python语言

1、计算机技术的演进
1946-1981(35年)计算机系统结构时代 计算能力问题
1981-2008(27年)网络和视窗时代(互联网和Windows视窗操作系统) 交互问题
1981第一个PC诞生;2008年安卓操作系统诞生,“PC时代”向移动时代转换
2008-2016(8年)复杂信息系统时代 数据问题
云计算、大数据、网络安全
2017- 人工智能时代 人类的问题
2、编程语言的多样初心
据不完全统计,世界上有超过600种编程语言
(1)不同编程语言的初心和适用对象:
C(计算机系统结构时代)
-学习内容 指针、内存、数据类型
-语言本质 理解计算机系统结构
-解决问题 性能
-适用对象 计算机类专业
Java(网络和视窗时代)
-学习内容 对象、跨平台、运行时
-语言本质 理解主客体关系
-解决问题 跨平台
-适用对象 软件类专业
C++
-学习内容 对象、多态、继承
-语言本质 理解主客体关系
-解决问题 大规模程序
-适用对象 计算机类专业
VB(网络和视窗时代)
-学习内容 对象、按钮、文本框
-语言本质 理解交互逻辑
-解决问题 桌面应用
-适用对象 不确定(适用对象很少)
Python(复杂信息系统时代)
-学习内容 编程逻辑、第三方库
-语言本质 理解问题求解
-解决问题 各类问题
-适用对象 所有专业
(2)2018年以后的计算环境
计算机性能不再是解决一般问题的瓶颈
移动互联网广泛普及和应用
大数据、云计算、物联网、信息安全、人工智能等需求爆发
解决日益增长的计算需求,该使用什么语言?
3、Python语言
Python语言创立者:Guido van Rossum
-Python语言是通用语言

-Python语言是脚本语言
-Python语言是开源语言
-Python语言是跨平台语言
-Python语言是多模型语言
4、Python特点与优势
-C代码量的10% 语法简洁
-强制可读性
-较少的底层语法元素
-多种编程方式
-支持中文字符
-超过13万第三方库 生态高产
-快速增长的计算生态
-避免重复造轮子
-开放共享
-跨操作系统平台
5、如何看待Python语言
人生苦短,我学Python
-C/C++:Python归Python,C归C(底层、基础)
-Java:针对特定开发和岗位需求
-HTML/CSS/JS:不可替代的前端技术,全栈能力
-其他语言:R/Go/Matlab,特定领域
Python是最高产的程序设计语言及……
-掌握抽象并求解计算问题综合能力的语言
-了解产业界解决复杂计算问题方法的语言
-享受利用编程将创新变为实现乐趣的语言
工具决定思维:关注工具变革的力量
6、超级语言的诞生
(1)编程语言的种类
机器语言
-一种二进制语言,直接使用二进制代码表达指令
-计算机硬件(CPU)可以直接执行,与具体CPU型号有关
-完成2+3功能的机器语言
11010010 00111011
汇编语言
-一种将二进制代码直接对应助记符的编程语言
-汇编语言与CPU型号有关,程序不通用,需要汇编器转换
-完成2+3功能的汇编语言
add 2,3,result
高级语言
-更接近自然语言,同时更容易描述计算问题
-高级语言代码与具体CPU型号无关,编译后运行(编译器参考具体CPU的型号)
-完成2+3功能的高级语言
result=2+3
(2)编程语言种类的发展
机器语言 代码直接执行,与CPU型号有关
汇编语言 有助记符,汇编器,与CPU型号有关
高级语言 接近自然语言,编译器,与CPU型号无关
超级语言 粘性整合已有程序,具备庞大计算生态
(3)超级语言
-具有庞大计算生态,可以很容易利用已有代码功能
-编程思维不再是刀耕火种,而是集成开发
-完成2+3功能的高级语言
result = sum(2, 3)(由某个函数返回结果即可)
“Python是目前唯一的超级语言,前进的步伐不可阻挡”

实例2:Python蟒蛇绘制

用程序绘制一条蟒蛇
-问题1 计算机绘图是什么原理?
一段程序为何能够产生窗体?为何能在窗体上绘制图形?
-问题2 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()

-Python蟒蛇绘制问题是各类图像绘制问题的代表

模块1:turtle库的使用

turtle库基本介绍

turtle(海龟)库是turtle绘图体系的Python实现
-turtle绘图体系:1969年诞生,主要用于程序设计入门
-Python语言的标准库之一
-入门级的图形绘制函数库
1、标准库
Python计算生态=标准库+第三方库
-标准库:随解释器直接安装到操作系统中的功能模块
-第三方库:需要经过安装才能使用的功能模块
-库Library,包Package,模块Module,统称模块
2、turtle的原理
turtle(海龟)是一种真实的存在
-有一只海龟,其实在窗体正中心,在画布上游走
-走过的轨迹形成了绘制的图形
-海龟由程序控制,可以变换颜色,改变宽度等

turtle绘图窗体布局

绘图窗体:turtle的画布空间,最小单位是像素
在这里插入图片描述

turtle.setup(width, height, startx, starty)

-setup()设置窗体大小及位置(相对于屏幕左上角)
-4个参数中后两个可选(不设置则默认在屏幕正中心)
-setup()不是必须的

turtle空间坐标体系

绝对坐标

turtle.goto(x, y)

海龟坐标
海龟坐标系下控制海龟运动

turtle角度坐标体系

绝对角度

turtle.seth(angle)

-seth()改变海龟行进方向
-seth()只改变方向但不行进
-angle为绝对度数
海龟角度

RGB色彩体系

1、RGB色彩体系
由三种颜色构成的万物色
-RGB指红蓝绿三个通道的颜色组合
-覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数
常用RGB色彩
在这里插入图片描述
2、turtle的RGB色彩模式
默认采用小数值,可切换为整数值

turtle.colormode(mode)

mode为:
-1.0:RGB小数值模式
-255:RGB整数值模式

turtle程序语法元素分析

库引用与import

1、库引用
扩充Python程序功能的方式
-使用import保留字完成,采用< a>.< b>()编程风格
import <库名>
<库名>.<函数名>(<函数参数>)
2、import更多用法
使用from和import保留字共同完成
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
两种方法比较
-第一种方法不会出现函数重名问题,第二种方法可能出现
使用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.12,0.94)
-RGB的元组值:turtle.pencolor((0.63,0.12,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:改变行进方向,海龟走角度
-turtle.left(angle) 海龟向左转
-turtle.right(angle) 海龟向右转
-angle:在海龟当前行进方向上旋转的角度

基本循环语句

1、循环语句
按照一定次数循环执行一组语句
for <变量> in range (<参数>)
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数>-1
2、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

-turtle.done
有这一行代码程序不会自动退出,要手动关闭画布,去掉则可以自动退出。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值