2021-2022学年高中信息技术浙教版(2019)必修1 数据与计算3.2.2 Python语言基础 课件-(55张PPT)

文档属性

名称 2021-2022学年高中信息技术浙教版(2019)必修1 数据与计算3.2.2 Python语言基础 课件-(55张PPT)
格式 pptx
文件大小 2.4MB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2021-10-26 13:54:23

图片预览

文档简介

(共55张PPT)
3.2 Python程序设计
2、 Python语言基础
数值数据类型和运算符
Python有两种数值类型:整数和浮点数(实数)
整数:34,浮点数:34.0
浮点数123.456可以使用科学计数法表示为1.23456e2或1.23456e+2(E或e代表指数且可以大写也可以小写)。对于很大或很小的浮点数,通常用科学计数法来表示
支持算术运算符:+(加)、-(减)、*(乘)、/(除)、//(整除)、%(模或求余数)、**(幂)运算
可以使用type函数来查询数据类型
数值类型和运算符
Python可以处理任意大小的整数,浮点数表示范围受限
浮点数除法,结果为浮点数
整数除法,结果为整数,小数部分被舍掉了
幂运算
求余数
数值类型和运算符
算术运算符+、-、*、/、//、%、**可以与赋值运算符=组合在一起构成复合赋值运算符
x = x + 1可以写为x += 1
注意:i *= j + k等价于i = i * (j + k),而不是i = i * j + k
运算符 用 法 等价表达式
+= op1 += op2 op1 = op1 + op2
-= op1 -= op2 op1 = op1 – op2
*= op1 *= op2 op1 = op1 * op2
/= op1 /= op2 op1 = op1 / op2
//= op1 //= op2 op1 = op1 // op2
%= op1 %= op2 op1 = op1 % op2
**= op1 **= op2 op1 = op1 ** op2
数值类型和运算符
如果算术运算符的操作数之一是浮点数,自动将整数转换为浮点数,那么结果就是浮点数。例如,3 * 4.5和3.0 * 4.5是相同的
可以使用int函数来返回一个浮点数的整数部分(没有四舍五入)
可以使用round函数来返回一个浮点数的整数部分(进行四舍五入)
数值类型和运算符
int函数也可以将字符串转换为整数
float函数将字符串转换为浮点数,也可以将整数转换为浮点数
数值类型和运算符
int函数和float函数比eval函数执行速度要快
优先级和结合性
首先执行圆括号内的运算
幂运算
乘法、浮点数除法、整数除法和模(求余)运算,同一优先级从左向右运算
加法、减法运算,同一优先级从左向右运算
赋值运算,同一优先级从右向左运算
如何计算算术表达式:3 + 4 * 4 + 5 * (4 + 3) – 1,结果是53
字符串和字符简介
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符
为了和其他程序设计语言一致,建议用单引号来括住单个字符的字符串或空字符串,使用双引号来括住多个字符构成的字符串
如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识
'I\'m \"OK\"!'表示的字符串内容是:I'm "OK"!
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,\'表示单引号,\"表示双引号
字符串和字符简介
ord函数和chr函数
ord(ch)函数返回字符ch的ASCII码
chr(code)函数返回ASCII码code所代表的字符
任何小写字母的ASCII码与它对应的大写字母的ASCII码的差值都一样,为32。利用这一特性,可以进行字母的大小写转换
字符串和字符简介
str函数
将数字转换为字符串
可以用+运算符对两个数字做加法,也可以使用+运算符来连接两个字符串。+=运算符也能用来连接字符串
字符串和字符
读取字符串
input函数返回从键盘上输入的字符串
不换行打印
print函数会自动换行,若不想在使用print函数后换行,可以给print函数传递一个特殊的end = “任何结束字符串”的参数
可以给print函数传递一个特殊的sep = “任何分隔字符串”的参数,默认以空格作为分隔符
格式化数字和字符串
格式化浮点数
格式符f用来格式化浮点数
10.2f将浮点数格式化宽度为10(含小数点及小数点后两位小数)的字符串。浮点数被四舍五入到两个小数位,小数点前分配了7个数字;若小数点前的数字小于7个,则在数字前插入空格;若小数点前的数字个数大于7,则数字宽度会自动增加
.2f省略宽度,这样,宽度会根据格式化这个数所需的宽度自动设置
格式化数字和字符串
调整对齐格式
默认情况下数字是右对齐的,使用格式符<指定左对齐
用科学记数法格式化浮点数
格式符f变成e,浮点数被格式化为科学记数法
符号+和-被算在宽度中
格式化数字和字符串
格式化成百分数
使用格式符%
10.2%将数乘以100后加上%,%也算在宽度中
格式化整数
使用格式符d、x、o和b分别用来格式化十进制整数、十六进制整数、八进制整数和二进制整数
格式化数字和字符串
格式化字符串
使用格式符s格式化字符串
默认情况下字符串是左对齐的,使用格式符>指定右对齐
20s指定字符串格式化为宽度在20以内的字符串。若字符串比指定的宽度长,宽度自动扩展到字符串的宽度
对象和方法简介
Python中,所有数据(包括数字和字符串)都是对象
对象三要素:身份标识id、数据类型type和值value
同一类型的对象具有相同的类型,可以使用id函数和type函数来获取对象信息
一个对象的类型由类(class)决定。整数类是int,浮点数类是float,字符串类是str。在Python中,类和类型是一样的意思
每当执行程序时,Python会自动为每个对象的id赋予一个独特的整数。在程序执行过程中,对象的id不会改变
对象和方法简介
Python中的变量实际上是一个对象的引用
严格来说,n是一个引用了int对象的变量,而这个int对象的值为3
n = 3,Python干了两件事情:
在内存中创建了一个整数3的对象
在内存中创建了一个名为n的变量,并把它指向该整数3的对象
对象和方法简介
数字和字符串被称为不可变对象。不可变对象的内容是不能被改变的
当将一个新数字赋值给变量时,Python就会为这个新数字创建新对象,让后将这个新对象的引用赋值给这个变量
把x赋值给y,x和y都指向同一个对象(整数4),它们的id相同
若将1加到y,就会创建一个新对象,它被赋值给y,y指向一个新对象(id改变了)
对象和方法简介
Python中,对象所调用的函数被称为方法
方法只能从一个特定的对象里调用:对象.方法
字符串中有将字母转换为小写的lower方法和将字母转换为大写的upper方法
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
None有自己的数据类型NoneType。可以将None赋值给任何变量。
列表简介
Python提供了一种被称为列表的数据类型,它可以存储任意大小的数据集合
列表是序列类型。一个列表是任何元素的序列。一个列表既可以包含同类型的元素也可以包含不同类型的元素
列表中的元素用逗号分隔并且由一对中括号[]括住
list1 = []
list2 = [2, 3, 4]
list3 = ["red", "green", "blue"]
list4 = [2, "three", 4.0]
字符串中有split方法,将字符串(默认以空格分隔)分解成其子串组成的列表
列表简介
元组简介
与列表类似,元组也是序列类型。一个元组是任何元素的序列。一个元组既可以包含同类型的元素也可以包含不同类型的元素
元组中的元素用逗号分隔并且由一对圆括号()括住
tuple1 = ()
tuple2 = (2, 3, 4)
tuple3 = ("red", "green", "blue“)
tuple4 = (2, "three", 4.0)
但创建只有一个元素的元组时,要在元素后面加上一个逗号,否则创建的是整数对象,不是元组
元组和列表的主要区别:一个元组被创建后,就无法直接修改元组中的元素值
字典简介
Python提供了一种被称为字典的数据类型
字典是一系列键/值对的集合,每个键都与一个值相关联,可以使用键来访问与之相关联的值
字典中的一系列键/值对用逗号分隔并且由一对花括号{}括住
dict1 = {}
dict2 = {"one":1, "two":2, "three":3}
字典名.get(key),来访问key对应的值,若key不在字典中,则返回None
字典名[key] = value,来修改key对应的值,若key不在字典中,则将key/value添加到字典中
内置函数
前面使用过的print、input、eval等都是Python提供的内置函数,可以直接使用
Python还提供了如下内置函数
abs(x),返回x的绝对值,abs(-2)返回2
pow(a, b),返回ab的值,相当于a ** b,pow(2, 3)返回8
round(x, n),返回保留小数点后n位的浮点数,round(5.466, 2)返回5.47
max(x1, x2, ...),返回x1、x2、...中的最大值,max(1, 5, 2)返回5
min(x1, x2, ...),返回x1、x2、...中的最小值,min(1, 5, 2)返回1
divmod(a, b),返回一个元组,元组的第一个元素是a除以b的商、第二个元素是a除以b的余数
help(topics),显示topics的帮助信息
数学函数
Python还提供一个math模块,包含了一些常用的数学函数和数学常量
要使用math模块,必须先导入math模块:import math
数学常量
math.pi
math.e
常用数学函数
fabs(x),返回x的绝对值(浮点数),math.fabs(-2)返回2.0
ceil(x),x向上取最近的整数并返回,math.ceil(2.1)返回3
floor(x),x向下取最近的整数并返回,math.floor(2.1)返回2
exp(x),返回幂函数ex的值,math.exp(1)返回2.718281828459045
log(x),返回x的自然对数值,math.log(2.718281828459045)返回1.0
log(x, base),返回x的以base为底的对数值,math.log(100, 10)返回2.0
数学函数
常用数学函数(续)
sqrt(x),返回x的平方根值,math.sqrt(4)返回2.0
degrees(x),将x从弧度转换为角度,math.degrees(1.5707963267948966)返回90
radians(x),将x从角度转换为弧度,math.radians(90)返回1.5707963267948966
sin(x),返回x的正弦值,x为弧度,math.sin(math.pi / 2)返回1.0
cos(x),返回x的余弦值, x为弧度, math.cos(math.pi )返回-1.0
tan(x,),返回x的正切值, x为弧度, math.tan(0.0)返回0.0
asin(x),返回x的反正弦值, math.asin(1.0)返回1.5707963267948966
acos(x),返回x的反余弦值,math.acos(-1.0)返回3.141592653589793
atan(x),返回x的反正切值,math.atan(0.0)返回0.0
程序的基本控制结构
语句是程序运行时执行的命令。符合语法和语义要求的语句能够完成一项基本任务
控制结构,其作用就是控制语句的执行。有三种基本控制结构:顺序结构、分支结构和循环结构。顺序结构是程序默认的执行流程,分支结构和循环结构则使用相应的控制语句进行控制
程序设计错误
程序中的错误都是程序员所犯的错误,即使是有经验的程序员,也不能避免错误
错误分为三种:语法错误、运行时错误和逻辑错误。
语法错误
指程序书写格式在某些方面不符合Python要求,如拼错关键字、遗漏必要的标点符号、括号不匹配或者不合理的缩进等。解释器在解释程序的过程中能够查出这类错误
print("Welcome to Python!) # 缺少右双引号
程序设计错误
运行时错误
也称为异常,指程序书写格式正确,解释过程能正常完成,但在执行过程中出了问题,导致程序终止执行
输入错误是典型的运行时错误
另一个常见的运行时错误是算术运算中把0作为除数
x, y = eval(input("请输入以逗号分隔的两个整数: "))
print(str(x) + "/" + str(y) + " =", x / y) # 当y值为0时,引发错误
程序设计错误
逻辑错误。
指程序书写格式正确,解释过程能正常完成,但程序的执行结果不符合预期的要求。这类错误是最难修改的
fahrenheit = eval(input("输入华氏温度: "))
celsius = 5 / 9 * fahrenheit - 32 # 表达式错误,应为5 / 9 * (fahrenheit - 32)
print("对应的摄氏温度: " + format(celsius, ".1f"))
1945年9月9日,美国女数学家Grace Hopper在编写程序时,计算机出现了故障。经仔细检查,发现故障的祸根是计算机里有一个烧焦的小虫(Bug)造成了电路短路。从此,排除计算机故障的工作就被称为Debugging,就是“找虫子”。后来人们也这样看待和称呼排除程序错误的工作。
测试(testing)的目的是为了发现尽可能多的错误,通过调试(debugging)确定错误性质,并加以改正,以提高软件的质量。
测试程序、排除程序错误的最重要工具就是我们的眼睛和头脑
测试和调试
人们从程序设计实践中取得了共识,程序必须具有良好的程序设计风格,这样程序的正确性、有效性、可读性和易维护性将会得到保证
程序设计风格(programming style)就是如何安排程序的外观样式
Python编码规范PEP 8 ——Style Guide for Python Code
https://www.python.org/dev/peps/pep-0008/
程序设计风格
基本原则
用注释告诉程序阅读者所需要知道的内容
注释应当准确、易懂,防止出现二义性
要向程序阅读者解释那些复杂或很难理解的内容,对一些浅显易懂的内容,则不必解释
边写程序边加注释。当修改程序时,也要及时更新注释
注释应该与被解释内容相邻。一般放在被解释内容的上方或右方
适当的注释
基本原则
命名习惯最重要的是保持一致
标识符最好采用英文单词或其组合,尽量做到“见名知义”
标识符的长度应该符合“最小长度最大信息”的原则
不要使用仅靠大小写来区分的相似标识符
常量名采用全部大写的单词,如果由多个单词构成,单词之间用下划线连接。但首尾不要使用下划线。如常量PI和常量MAX_VALUE
变量名采用全部小写的单词,如果由多个单词构成,单词之间用下划线连接。但首尾不要使用下划线。如变量radius和变量my_age
命名习惯
基本原则
写文章要分段落,写程序也要分段落。空行起着段落分隔的作用,段落之间一般放置一或两个空行。适当的空行将使程序更为清晰易读
程序要有对齐和缩进,使不同的程序结构之间形成层次关系。缩进以空4个空格最佳
运算符的两边应当各加一个空格
i□=□3□+□4□*□4
不要书写复杂的代码行,一行代码只做一件事情。每行代码的最大长度不要超过79个字符。过长的代码可以“断行”,拆分为多行。“断行”点一般在运算符的后边。换行可以使用反斜杠,最好使用圆括号(Python有个特性:任何包含在一对圆括号中的代码可以分散在多行)
程序编排