Python
2024-09-11 14:39:19 0 举报
AI智能生成
Python语言程序设计
作者其他创作
大纲/内容
第1章Python基本语法元素
1.1程序设计基本方法
方法论
基本的程序编写方法——IPO(Input, Process, Output)方法。
计算机与程序设计
计算机的概念
功能性:对数据的操作,表现为数据计算、输入、输出和处理结果等等。
可编程性:根据一系列的指令自动地、可预测的、准确的完成操作者的意图。
程序设计
程序设计语言是一种用于交互(交流)的人造语言
程序实现方式
源代码:采用某种编程语言编写的计算机程序,人类可读
目标代码:计算机可直接执行,人类不可读(专家除外)
编译
解释
程序的基本编写方法(IPO)
输入
程序的开始,文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等
处理
处理是程序对输入数据进行计算产生输出结果的过程,处理方法统称为算法
输出
控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等,
输出是程序展示运算结果的方式
输出是程序展示运算结果的方式
计算机编程
编程解决问题的步骤
分析问题:分析问题的计算部分
划分边界:划分问题的功能边界,规划IPO
设计算法:设计问题的求解算法,关注算法
编写程序:编写问题的计算程序,编程序
调试测试:调试程序使正确运行,运行调试
升级维护:适应问题的升级维护,更新完善
求解计算问题的精简步骤
确定IPO:明确计算部分及功能边界
编写程序:将计算求解的设计变成现实
调试程序:确保程序按照正确逻辑能够正确运行
1.2实例1:温度转换
需求分析
两种温度体系的转换
华氏度转摄氏度
摄氏度转华氏度
问题分析
1、直接将温度值进行转换理解
2、将温度信息发布的声音或图像形式进行理解和转换理解
3、监控温度信息发布渠道,实时获取并转换温度值
划分边界
I
输入:带华氏或摄氏标志的温度值。
P
处理:根据温度标志选择适当的温度转换算法
O
输出:带摄氏或华氏标志的温度
设计算法
编程
举一反三
改变程序输入、输出
延申至不同的实例
货币转换
重量转换
长度转换
面积转换
1.3 Python程序语法元素分析
程序的格式框架
代码高亮:编程的色彩辅助体系
缩进:代表程序的格式框架
严格明确:缩进是语法的一部分,缩进不正确程序运行错误
表达代码间包含和层次关系的唯一手段
在单一程序内,缩进长度需一致,可以是一个tab键,或者若干个空格
注释
单行注释:以#号开头
多行注释:'''开头
结尾'''
结尾'''
命名与保留字
变量
用来保存和表示数据的占位符号
变量采用标识符(名字)来表示,关联标识符的过程叫命名
Tempstr是变量名字
可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
TempStr="82F" #向变量TempStr赋值"82F"
命名
关联标识符的过程
命名规则
命名规则:大小写字母、数字、下划线和中文等字符及组合
如: Tempstr, Python_Great,这是门Python好课
如: Tempstr, Python_Great,这是门Python好课
注意事项
大小写敏感,🈲数字开头
保留字
编程语言内部定义并保留使用的标识符(既不能将其用作变量名)
-Python语言有35个保留字(也叫关键字)
if, elif, else, in
if, elif, else, in
-保留字是编程语言的基本单词,大小写敏感
if是保留字, If 是变量
if是保留字, If 是变量
黑色:Python基础语法体系中会涉及到的保留字
红色:Python高级语法体系中会涉及到的保留字
数据类型
字符串类型
由0个或多个字符组成的有序字符序列
字符串由一对单引号或一对双引号表示
“请输入”或'C'
“请输入”或'C'
字符串是字符的有序序列,可以对其中的字符进行索引
"请"是“请输入带有符号的温度值:"的第0个字符
"请"是“请输入带有符号的温度值:"的第0个字符
索引与切片
实例
"请输入带有符号的温度值"
[0:3]
既从第0个字符起不到第三个字符:请输入
[3:]
既从第三个字符起到最后一个字符:带有符号的温度值
数字类型
整数类型
数学中的整数
1或2
1或2
浮点数类型
数学中的实数,带有小数部分
1.3或1.4
1.3或1.4
列表类型
由0个或多个数据组成的有序序列
列表使用[]表示,采用逗号(,)分隔各元素
['F','f']表示两个元素'F'和'f'
['F','f']表示两个元素'F'和'f'
使用保留字in判断一个元素是否在列表中
TempStr[-1] in ['C','c']判断前者是否与列表中某个元素相同
TempStr[-1] in ['C','c']判断前者是否与列表中某个元素相同
语句与函数
语句
赋值语句
由赋值符号构成的一行代码。
- 赋值语句用来给变量赋予新的数据值
C=(eval(TempStr[e:-1])-32)/1.8
#右侧运算结果赋给变量c
#右侧运算结果赋给变量c
- 赋值语句右侧的数据类型同时作用于变量
TempStr=input(")
#input()返回一个字符串, TempStr也是字符串
#input()返回一个字符串, TempStr也是字符串
分支语句
由判断条件决定程序运行方向的语句
- 使用保留字if elif else构成条件判断的分支结构
if TempStr[-1] in ['F','f]:
#如果条件为True则执行冒号后语句
#如果条件为True则执行冒号后语句
- 每个保留字所在行最后存在一个冒号(:),语法的一部分
冒号及后续缩进用来表示后续语句与条件的所属关系
函数
根据输入参数产生不同输出功能的函数。
- 类似数学中的函数, y= f(x)
print("输入格式错误") #打印输出“输入格式错误”
- 函数采用<函数名>(<参数>)方式
使用eval(TempStr[0:-1]) # TempStr[0: -1]是参数
Python程序的输入输出
输入函数
输出函数
评估函数
练习总结
换行符
\n
将文字垂直方向打印
print("\n".join("你好"))
#输出: 你
好
#输出: 你
好
切片的应用
TempStr[1:]
#可以获取除去第0个字符之后的所有字符
#可以获取除去第0个字符之后的所有字符
"F{:.2f}".format(F)
输出的F位于数值前面。
end=""
print()中增加end=""参数表示输出后不增加换行,多个print()可以连续输出。
第2章Python基本图形绘制
2.1 Python语言
计算机技术的演进
2017至今 人工智能时代
人类的问题
2008-2016(8年)复杂信息系统时代
数据问题
1981-2008 (27年)网络和视窗时代
交互问题
1946-1981 (35年)计算机系统结构时代
计算能力问题
编程语言的多样初心
Python语言的特点
创立者
Guido van Rossum
特点
“超级语言”的诞生
编程语言种类的发展
超级语言
粘性整合已有程序,具备庞大计算生态
高级语言
接近自然语言,编译器,与CPU型号无关
汇编语言
有助记符,汇编器,与CPU型号有关
机器语言
代码直接执行,与CPU型号有关
2.2 实例2:python蟒蛇绘制
问题分析
设计需要绘制的蟒蛇形状
问题1:计算机绘图原理是什么?
#一个程序为何能够产生窗体?为何能够在窗体上绘制图形?
#一个程序为何能够产生窗体?为何能够在窗体上绘制图形?
问题2:Python蟒蛇绘制从哪里开始?
#如何绘制一条线?如何绘制一个弧形?如何绘制一条蟒蛇?
#如何绘制一条线?如何绘制一个弧形?如何绘制一条蟒蛇?
编程
子主题
举一反三
- Python蟒蛇的颜色:黑色、白色、七彩色
- Python蟒蛇的长度:1节、3节、10节
- Python蟒蛇的方向:向左走、斜着走.
2.3 turtle库的使用
turtle库基本介绍
turtle绘图体系,诞生于1969年,主要用于程序设计入门
Python的标准库之一
入门级的图形绘制函数
Python计算生态
python计算生态=标准库+第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块
turtle绘图窗体布局
概念
turtle的一个画布空间,最小的单位是像素
其中width、height,表示绘图窗体的长和高即大小
startx、starty,表示绘图窗体相对于显示屏左上角的坐标
startx、starty,表示绘图窗体相对于显示屏左上角的坐标
turtle空间坐标体系
绝对坐标
即以绘图窗体中心为原点的坐标系
turtle.goto(x,y)
海龟坐标
即以海龟的当前位置为坐标原点的坐标系
turtle.fd(d) 前进方向
turtle.bk(d) 后退方向
turtle.circle(+r,angle) 左侧方向
turtle.circle(-r,angle) 右侧方向
turtle.bk(d) 后退方向
turtle.circle(+r,angle) 左侧方向
turtle.circle(-r,angle) 右侧方向
对turtle.circle(r,angle)解释:
r为正的时候,圆心在海龟左侧,负的时候在海龟的右侧
angle为正的时候,海龟正着行进,负的时候海龟倒着行进
r为正的时候,圆心在海龟左侧,负的时候在海龟的右侧
angle为正的时候,海龟正着行进,负的时候海龟倒着行进
turtle角度坐标体系
绝对角度
即以绘图窗体中心为原点,x轴为0°或360°的角度坐标体系
turtle.seth(angle)
海龟角度
即以海龟为中心的角度坐标体系
turtle.left(angle) 以海龟前进方向向左转angle度
turtle.right(angle) 以海龟前进方向向右转angle度
turtle.right(angle) 以海龟前进方向向右转angle度
RGB色彩体系
即有红绿蓝三种颜色构成的万物色
默认采用小数值,可切换为整数值
1.0 RGB的小数值模式
0-255 RGB的整数值模式
0-255 RGB的整数值模式
turtle.colormode(mode)
2.4 turtle程序语法元素
库引用与import
常规用法
import <库名>
<库名>.<函数名>(<函数参数>)
<库名>.<函数名>(<函数参数>)
使用import保留字完成,采用<a>.<b>()编码风格
库引用是扩充python程序功能的方式
多种用法
用法1
from <库名>import <函数名>
from <库名> import*
<函数名>(<函数参数>)
from <库名> import*
<函数名>(<函数参数>)
使用import和from保留字共同完成
用法2
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
<库别名>.<函数名>(<函数参数>)
使用import和as保留字共同完成
给调用的外部库关联一个更短、更适合自己的名字
两种方法比较
turtle画笔控制函数
特点
画笔操作后一直有效,一般成对出现
画笔设置后一直有效,直至下次重新设置
函数
画笔起落
turtle.penup() 别名:turtle.pu()
抬起画笔,海龟在飞行,既不在画布上形成图案
turtle.pendown() 别名:turtle.pd()
落下画笔,海龟在爬行
抬起画笔,海龟在飞行,既不在画布上形成图案
turtle.pendown() 别名:turtle.pd()
落下画笔,海龟在爬行
画笔宽度
turtle.pensize(width) 别名:turtle.width(width)
画笔宽度,海龟的腰围
画笔宽度,海龟的腰围
画笔颜色
turtle.pencolor(color)
color为颜色字符串或rgb值画笔颜色,有三种形式:
turtle.pencolor("purple")
RGB的小数值: turtle.pencolor(0.63, 0.13, 0.94)
RGB的元组值: turtle.pencolor((0.63,0.13,0.94)).
turtle.pencolor("purple")
RGB的小数值: turtle.pencolor(0.63, 0.13, 0.94)
RGB的元组值: turtle.pencolor((0.63,0.13,0.94)).
turtle运动控制函数
走直线fd()
turtle.forward(d) 别名turtle.fd(d)
向前行进,海龟走直线,d:行进距离,可以为负数
走曲线circle()
turtle.circle(r, extent=None)
当r为正值,则圆心在海龟左侧
当r为负值,则圆心在海龟右侧
#根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置;extent:绘制角度,默认是360度整圆
turtle方向控制函数
绝对角度seth()
turtle.setheading(angle) 别名turtle.seth(angle)
改变行进方向,海龟走角度;angle:行进方向的绝对角度
海龟角度
turtle.left(angle) 海龟向左转
turtle.right(angle) 海龟向右转
turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
基本循环语句
range()函数
for 和 in 保留字
for <变量> in range(<次数>):
<被循环执行的语句>
<变量>表示每次循环的计数,0到<次数>-1
for <变量> in range(<次数>):
<被循环执行的语句>
<变量>表示每次循环的计数,0到<次数>-1
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
range(5) 0, 1, 2, 3, 4
range(M, N)产生M到N-1的整数序列,共N-M个
range(2, 5) 2, 3, 4
Python蟒蛇绘制"代码分析
准备画笔
设置绘图窗体
设置画笔位置
设置画笔尺寸、颜色
⚠注意:是turtle.pensize(),pencolor();
别漏掉pen,因为是画笔的尺寸
⚠注意:是turtle.pensize(),pencolor();
别漏掉pen,因为是画笔的尺寸
设置画笔方向
循环画4次蟒蛇关节
for i in range(4):
<被循环执行的语句>
<被循环执行的语句>
脖子
头部
程序结束后窗口不关闭:turtle.done()
第3章基本数据类型
3.1数字类型及操作
整数类型
解释
与数学中的概念一致,整数无限制。
- 可正可负,没有取值范围限制
- pow(x,y)函数:计算xy,想算多大算多大
>>>pow(2,100) #计算2的100次方
1267650600228229401496703205376
>>pow(2, pow(2, 15)) #计算2的2的15次方
1415461031044954789001553.....
1267650600228229401496703205376
>>pow(2, pow(2, 15)) #计算2的2的15次方
1415461031044954789001553.....
四种进制表现形式
十进制: 1010, 99, -217
二进制,以0b或OB开头: 0b010, -0B101
八进制,以0o或0O开头: 0o123, -0O456
十六进制,以0x或0X开头: Ox9a,-0X89
浮点数类型
解释
与数学中实数的概念一致
- 带有小数点及小数的数字
- 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
- 取值范围数量级约 至,精度数量级
不确定尾数
浮点数间运算存在不确定尾数,不是bug
>>> 0.1 + 0.30
0.4
>>>0.1 + 0.2
0.30000000000000004
不确定尾数
0.4
>>>0.1 + 0.2
0.30000000000000004
不确定尾数
二进制表示小数,可以无限接近,但不完全相同
0.1 53位二进制表示小数部分,约
0.00011001100110011001100110011001100110011001100110011010 (二进制表示)
0.1000000000000000055511151231257827021181583404541015625 (十进制表示)
0.00011001100110011001100110011001100110011001100110011010 (二进制表示)
0.1000000000000000055511151231257827021181583404541015625 (十进制表示)
round()函数
round(x, d):对x四舍五入, d是小数截取位数
浮点数间运算与比较用round()函数辅助
不确定尾数一般发生在10-16左右, round()十分有效
浮点数间运算存在不确定尾数
>>> 0.1 + 0.20==0.3
False
>>>round (0.1+0.2, 1)==0.3
True
>>> 0.1 + 0.20==0.3
False
>>>round (0.1+0.2, 1)==0.3
True
科学计数法
浮点数可以采用科学计数法表示
使用字母e或E作为幕的符号,以10为基数,格式如下:
<a>e<b> 表示
<a>e<b> 表示
例如:
4.3e-3 值为0.0043
9.6E5 值为960000.0
4.3e-3 值为0.0043
9.6E5 值为960000.0
复数类型
解释
与数学中复数的概念一致
如果=-1,那么x的值是什么?
定义j= ,以此为基础,构建数学体系
a+bj被称为复数,其中, a是实部,b是虚部
如果=-1,那么x的值是什么?
定义j= ,以此为基础,构建数学体系
a+bj被称为复数,其中, a是实部,b是虚部
例子
Z= 1.23e-4+5.6e+89j
实部是什么? z.real获得实部
虚部是什么? z.imag获得虚部
实部是什么? z.real获得实部
虚部是什么? z.imag获得虚部
数值运算操作符
操作符
完成运算的一种符号系统
二元操作符
数值运算函数
以函数形式提供的数值运算功能
余数Z使得运算结果的余数始终保持再一定范围内,如例子中10000是指保留四位数结果
数据类型转换函数
3.2实例3:天天向上的力量
3.3 字符串类型及操作
字符串类型的表示
字符串
单行字符串
一对单引号
一对双引号
多行字符串
一对三单引号
一对三双引号
字符串的序号
字符串的使用
索引
-索引:返回字符串中单个字符<字符串>[M]
切片
-切片:返回字符串中一段字符子串<字符串>[M:N]
字符串切片高级用法
缺失
-<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
例子:"O一二三四五六七八九十"[:3] 结果是 "O一二"
步长
-<字符串>[M: N: K] ,根据步长K对字符串切片
"O一二三四五六七八九十"[1:8:2] 结果是 "一三五七"
逆序
当步长K取负值,"〇一二三四五六七八九十"[:-1] 结果是"十九八七六五四三二一〇
转义符
字符串操作符
字符串处理函数
字符串处理方法
字符串类型的格式化
3.4
收藏
0 条评论
下一页