内容正文:
第7课 数据类型与表达式 基本数据结构
第三章│算法的程序实现
——3.2 Python语言程序设计,教材第72~79页
新课程目标
1.掌握Python常见的数据类型。
2. 掌握Python常见的算术运算符、关系运算符、逻辑运算符。
3.掌握Python变量和赋值语句。
4. 掌握Python基本数据结构(字符串、列表、字典)。
目录
CONTENTS
教材整体感悟 知本与探源
01
02
命题整体感知 尝试与研析
01
教材整体感悟 知本与探源
教材整体感悟 知本与探源
1.Python是一种面向对象、解释型的计算机程序设计高级语言。
2.数据类型与表达式
(1)数据类型
数据按照其本身特征可以分为若干种不同的类型,常见的Python基本数据类型如下表所示。
教材整体感悟 知本与探源
数据类型 数据表示形式 举例
整型(int) 数学中的________(正整数,0,负整数)、二进制数(用0b前辍)、八进制数(用0o前辍)、十六进制数(用______前辍)(长度无限制,可表示任意整数) -2,56,0,0x2f
实型(float) 数学中的________,可用科学记数法表示的实数(存在上下限,会溢出) 3.14,-5.6,1.2e2
字符串型
(string) 一段_____________,用单引号、双引号或三引号表示 'x',”abc”
布尔型(bool) 逻辑型,只有两种值:_________和__________ 1==1.0结果为True
整数
0x
实数
文字与符号
True
False
教材整体感悟 知本与探源
(2)Python的基本运算包括____________、____________和____________三大类。其中,算术运算存在优先级顺序,优先程度最高级别为____,级别数字越大,优先级越______,同优先级的基本运算按照
____________的顺序执行。
①算术运算符
算术运算
关系运算
逻辑运算
1
低
自左向右
教材整体感悟 知本与探源
基本运算 运算符 表达式 表达式的值 优先级
乘幂 ________ 25**0.5 _____ 1
乘 * 3*4 12 2
实数除 / 3/2 _______ 2
整数除 ______ 3//2 1 2
求余数 ______ 8%5 _____ 2
加 + 7+2 9 3
字符拼接 _____ '7'+'2' _______ 3
减 - 7-2 5 3
**
5
1.5
//
%
3
+
'72'
教材整体感悟 知本与探源
②关系运算符:相当于“比较运算”,用来比较两个数据(数值型数据或字符串型数据)的大小,或判断两数据是否相等。
关系运算 运算符 优先级 表达式 表达式的值 表达式 表达式的值
大于 > 4 7>4 True '5'>'12' _________
小于 < 4 7<4 __________ '123'<'124' True
大于或等于 _________ 4 10>=20 False '123'>='12' True
小于或等于 <= 4 10<=20 True 'VB'<=
'Python' __________
等于 ________ 4 8%4==2 __________ '123'=='123' True
不等于 != 4 7//4!=1 ________ '1'!='123' True
成员资格 ______ 5 'H' in 'Hello' ________ — —
True
False
>=
False
==
False
False
in
True
教材整体感悟 知本与探源
③逻辑运算符
逻辑运算 运算符 优先级 描述 表达式 表达式的值
非 ________ 6 反转逻辑状态 not 3>2 __________
与 and 7 两个条件
__________时,结果为真 3>2 and 4>3 __________
或 ______ 8 只要其中一个条件为真,结果为真 3<2 or 4<3 False
not
False
都为真
True
or
教材整体感悟 知本与探源
④复合赋值运算符
复合运算符 运算符 表达式 表达式的值
加法赋值运算符 += a+=3 等价于a=a+3
减法赋值运算符 -= a-=3 等价于___________
乘法赋值运算符 *= a *=3 等价于a=a*3
实数除法赋值运算符 /= a/=3 等价于a=a/3
整数除法赋值运算符 //= a//=3 等价于___________
取余赋值运算符 %= a%=3 等价于a=a%3
幂赋值运算符 **= a**=3 等价于___________
a=a-3
a=a//3
a=a**3
教材整体感悟 知本与探源
3.变量和赋值语句
(1)变量
①由于Python是动态类型语言,因此在使用前不需要预先声明变量的数据类型。
②变量是指在执行过程中可以被修改、发生改变的数据(注意:变量的类型和值都可以改变)。
③变量命名规则:可以包括字母、数字和下划线,但不能以数字开头,不能与关键字(保留字)同名,字母区分大小写。
教材整体感悟 知本与探源
④例如,Plan19=25.0语句创建了一个名为Plan19的变量,变量的类型是实型且值为25.0。
(2)赋值语句
①赋值符号用“=”表示,一般形式为:变量=表达式,将赋值符号右边表达式的值赋给赋值符号左边的变量。
②序列赋值:可以为多个变量分别赋予不同的值,变量之间用英文逗号隔开。 例如,name,age,score,value='李四',20,95.5,'A'。
教材整体感悟 知本与探源
③多目标赋值:同一个值赋值给多个变量。例如,x=y=z=1。
④其中:a,b=b,a表示两个变量值的交换(不借助第三变量)。
教材整体感悟 知本与探源
4.基本数据结构
(1)字符串是由0个或多个字符组成的序列。
下标索引:利用方括号“[]”可以通过索引得到相应位置(下标)的字符。
下标排序规则:s=”6月高考加油,奋斗到底!”,字符串长度:12(元素个数)。
教材整体感悟 知本与探源
(2)列表是由0个或多个元素组成的序列,其中的元素可以是数字、字符串等混合类型的数据,甚至是其他的列表。
下标索引:利用方括号“[]”可以通过索引得到相应位置(下标)的元素。
下标排序规则:list1=['blue',2,'white',5,'red',2,'green',3]。
教材整体感悟 知本与探源
(3)字典中的每个元素包含两部分内容:键和值。键和值两者一一对应,且每个键只能对应一个值。键和值在字典中以成对的形式出现,元素排列无序。键——值对用冒号分隔,各个对之间用逗号分隔,所有元素包含在花括号“{}”中。引用元素时,利用方括号“[]”,并以键为索引。
教材整体感悟 知本与探源
1.字符串切片函数:以S='6月高考加油,奋斗到底!'为例
函数 功能 应用举例 返回值
S[start:stop:step] 对字符串下标[start,stop)
进行步长为step的提取 S[0:12:2] '6高加,斗底'
S[start:stop] 步长为1时,step可省略 S[0:2] '6月'
S[:stop] start为0时,可省略 S[:-9] '6月高'
S[start:] stop为字符串长度时,可省略 S[4:] '加油,奋斗到底!'
S[:] start,stop为默认值时,可省略 S[:] '6月高考加油,奋斗到底!'
教材整体感悟 知本与探源
2.列表常见函数:以list1=['Python','Java','C++']为例
函数 功能 应用举例 说明
list[start:stop:step] 对列表下标[start,stop)间进行步长为step的提取 list1[1:] 切片后为['Java','C++']
list.append(obj) 在列表末尾添加新的元素 list1.append
('C#') 添加后为['Python','Java','C++','C#']
list.pop
([index==-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list1.pop(1) 删除后为['Python','C++']
list.insert(index,obj) 将相应元素插入列表指定位置 list1.insert
(1,'C#') 插入后为['Python','C#','Java','C++']
02
命题整体感知 尝试与研析
命题整体感知 尝试与研析
例1下列不能作为Python变量名的是( )
A.123ABC B.ABC123
C.A_1 D._A1
【解析】 变量名不能以数字开头,选项A符合题意。
A
命题整体感知 尝试与研析
例2下列赋值语句中正确的是( )
A.a=5 B.5=a
C.x+y=a D.x-y=a
【解析】 赋值语句左边为变量,右边为表达式或常量。
A
命题整体感知 尝试与研析
变式 给变量a、b、c分别赋值1、2、3,则下列语句正确的是( )
A.a=1:b=2:c=3 B.a=1 b=2 c=3
C.a=1,b=2,c=3 D.a,b,c=1,2,3
【解析】 选项D为序列赋值,依次给变量赋值。选项A、B、C,要在一行代码上实现多个语句,中间应用分号“;”分隔。
D
命题整体感知 尝试与研析
例3[2024·温岭中学检测]Python表达式11%4* 2+-3**2的值是( )
A.-6 B.-3
C.12 D.15
【解析】 =11%4*2+-3**2
=11%4*2-9
=3*2-9=6-9
=-3
B
命题整体感知 尝试与研析
变式1下列Python 表达式中,结果为”61”的是( )
A.6+1 B.61//10*10
C. ”6”+”1” D. ”61” in ”20220610”
【解析】 选项A,结果是7;选项B,结果是60;选项D,结果为True,选项C,结果为“61”,符合题意。
C
命题整体感知 尝试与研析
变式2某购物平台经常推出满减优惠活动, 比如“跨店每满299减50元”。顾客采购物品原价为z元, 根据“跨店每满x减y元” 活动规则需支付s元。下列计算模型比较合理的是( )
A.s=z//299*50 B.s=z-z//299*50
C.s=z//x*y D.s=z-z//x*y
【解析】 需支付s元,则是原价减去折扣,需要将具体数字用符号表示,选项D正确。
D
命题整体感知 尝试与研析
例4下列Python表达式中,不能表示“x属于区间[a, b)”的是( )
A.not (x<a or x>=b) B.x>=a and x<b
C.not (x<=a and x>b) D.a<=x<b
【解析】 “x属于区间[a,b)”可以表示为 a<=x<b;选项C表示为 a<x<=b ,与要求不符。
C
命题整体感知 尝试与研析
变式1有100 位同学排成一列,从第一位同学开始按1 至100 的序号进行报数,所报序号含有6 的同学需要出列。则判断序号x 是否出列的Python 表达式是( )
A.x%10==6 B.x//10==6
C.x%10==6 and x//10==6 D.x%10==6 or x//10==6
【解析】 所报序号含有6,可以是个位上有6或者十位上有6,“x%10==6”判断个位上是否有6,“x//10==6”判断十位上是否有6,选项D正确。
D
命题整体感知 尝试与研析
变式2 在Python 中,若x、y 都是正整数且x%y==2,则下列表达式一定为True 的是( )
A.x*y%2==0 B.x//y!=x/y
C.x<y D.x%2==1
【解析】 “x%y==2”表示x整除y的余数为2,x可以是x=n*y+2(n in [0,1,2,3…])。选项A,y并不一定是偶数,选项错误;选项B,当x不能被y整除时,整除的结果与实数除的结果不相等,选项正确;选项C,x可以比y大,选项错误;选项D,x可能是偶数,选项错误。
B
命题整体感知 尝试与研析
例5某证件号码由18 位数字组成,其中第7~14 位表示出生日期。用字符串变量s 存储该证件号码,下列Python 表达式中能提取出生日期的是( )
A.s[7:14] B.s[6:13]
C.s[7:-5] D.s[-12:-4]
【解析】 正向索引时,[x:y]只能提取到y位置的前一个,正确的表达式为s[6:14];选项D为负数索引,提取范围正确。
D
命题整体感知 尝试与研析
变式[2024·黄岩中学检测]已知变量 s=”2022China”,则表达式 s[-1]+s[2]*2 的值是( )
A. ”a4” B. ”a22”
C. ”n22” D. ”a0”
【解析】 s[-1]的值为”a”,s[2]的值为”2”,s[2]*2的值为”22”,字符串之间用+表示连接,选项B正确。
B
命题整体感知 尝试与研析
例6各评委对某选手的评分为83,85,87,75,95,87,88,90,79。在核对成绩时发现有误,错误录入的得分为score=[83,85,78,27,92,87,88,90,79],下列选项中可以实现正确修改的是( )
A.score[3:5]=[87,75,95]
B.score[2:4]=[87,75,95]
C.score[-7:-4]=[87,75,95]
D.score[-6:-3]=[87,75,95]
C
命题整体感知 尝试与研析
【解析】 利用方括号“[]”可以通过索引得到相应位置(下标)的字符,右正向索引与负数索引两种方式,都只能取到结束位置的前一个位置,选项C正确。
命题整体感知 尝试与研析
变式1已知列表a=[2,3,4,5],要将列表a 更新为[1,2,3,4,5],则下列可实现该操作的语句是( )
A.a=”1”+a B.a.append(1)
C.a=[1]+a D.a=1+a
【解析】 append()是在列表的末尾添加元素,不符合题目要求;可通过列表相加得到新列表,即如选项C 所示,可以实现该操作。
C
命题整体感知 尝试与研析
变式2已知a=[1,3,5,7,9],下列表达式的值大于a[3]的是( )
A.a[1]*a[2]//2 B.a[1]+5
C.a[-1]-a[1] D.a[3]**2%5
【解析】 a[3]的值为7;选项A的值为7;选项B的值为8;选项C的值为6;选项D,49%5=4。选项B正确。
B
命题整体感知 尝试与研析
例7用Oil_dic={”92号”:8.73,”95号”:9.14}存储油价信息,经核实后92号油价是8.61,正确修改的语句是( )
A.Oil_dic[0]=8.61 B.Oil_dic[92号]=8.61
C.Oil_dic[1]=8.61 D.Oil_dic[”92号”]=8.61
【解析】 “:”前是键,引用元素时,利用方括号“[]”,并以键为索引,选项D正确。
D
命题整体感知 尝试与研析
变式[2024·缙云中学检测]浙江省车牌号(如:浙J·AB888)首字母对应的城市名称用字典存储如下:city={”A”:”杭州”,”B”:”宁波”,”C”:”温州”,”D”:”绍兴”,”E”:”湖州”,”F”:”嘉兴”,”G”:”金华”,”H”:”衢州”,”J”:”台州”,”K”:”丽水”,”L”:”舟山”},若输入语句为:LPN=input(”请输入车牌号码: ”),则下列能正确输出城市名称的语句是( )
A.print(city[LPN(1)]) B.print(city{LPN[1]})
C.print(city[LPN[1]]) D.print[city[LPN[1]]]
C
命题整体感知 尝试与研析
【解析】 print是输出函数,所以用括号表示,即形如print(),选项D错误;city 是字典,对字典进行索引应该表示成形如city[],选项B错误;而输入语句LPN=input(”请输入车牌号码:”)输入的是字符串,对字符串索引应表示成形如LPN[],选项A错误,故选项C正确。
命题整体感知 尝试与研析
|随|堂|检|测|
1.将数学表达式 写成Python 表达式,下列表达式中正确的是( )
A.(2a*c)** 0.5/a+b B.(2*a*c) *0.5/(a+b)
C.(2*a*c)**0.5/(a+b) D.(2*ac) **0.5/(a+b)
【解析】 a+b需要先计算,需要加上“()”;根号使用“**0.5”实现,故选项C正确。
C
命题整体感知 尝试与研析
2.Python表达式77//2-9%2-2**3*3的值是( )
A.13 B.38
C.1 D.24
【解析】 先计算2**3=8;再依次计算77//2、9%2、8*3,最后计算“-”,选项A正确。
A
命题整体感知 尝试与研析
3.若x 是整型变量,下列选项中与表达式not (x>=1 and x<5)等价的是( )
A.x<1 and x>5 B.not x>=1 or x<5
C.x<1 and x<5 D.x<1 or x>=5
【解析】 not (x>=1 and x<5)即not x>=1 or not x<5,即x<1 or x>=5,选项D正确。
D
命题整体感知 尝试与研析
4.[2024·龙游中学检测]已知字典dic存放学生的姓名和对应的语数英成绩,dic={”姓名”:”小红”,”语文”:101,”数学”:118,”英语”:132},现要在字典dic中增加一个键为”技术”,值为97的元素,下列语句正确的是( )
A.dic[技术]=97 B.dic[”技术”]=[”技术”:97]
C.dic[”技术”]=97 D.dic[”技术”]={97}
【解析】 字典增加元素的方法为:字典名[键名]=键值。选项C正确。
C
命题整体感知 尝试与研析
5.已知x=”苹果,50”,y=[”苹果”,50],z={”苹果”:50},下列Python表达式的值为True的是( )
A.x[-4::-1]==y[0] B.y[1] in z
C.x[3:5]==y[1] D.z[y[0]]==50
【解析】 选项A,x[-4::-1]=”果苹”,y[0]=”苹果”,表达式的值为False;选项B,字典中的键为”苹果”,y[1]=50,表达式的值为False;选项C,x[3:5]=”50”,y[1]=50,数据类型不同,表达式的值为False。
D
命题整体感知 尝试与研析
6.[2024·衢州二中检测]下列表达式的结果为True 的是( )
A.4>=5<9 B.[1,2,3]==[3,2,1]
C.'abcd'[0:2]=='abc' D.10//3**3==0
【解析】 选项A, 4>=5<9 等价于4>=5 and 5<9,结果为False,选项错误;选项B, [1,2,3] 不等价于[3,2,1],结果为False,选项错误;选项C,'abcd'[0:2]的值为'ab', 'ab'不等价于'abc',结果为False,选项错误;选项D,10//3**3 等价于10//27=0,0==0 结果为True,选项正确。
D
命题整体感知 尝试与研析
7.[2024·东海中学检测]要从身份证号码中取出“出生日期”的信息(第 7~14 位),下列 Python 表达式不正确的是( )
A.s[6:14] B.s[-5:-13]
C.s[6:][:8] D.s[:-4][6:]
【解析】 选项A,索引从0开始,选项正确;选项B,步长省略默认为1,该处使用负索引,取值为空,选项错误;选项C、D 为二次切片,注意的是切完第一次之后索引重新编排,例如s[6:][:8]为先将s 从索引6 切到最后,然后将这个结果从头切到索引8 的位置,选项正确。
B
温馨提示:请完成高效作业7
感谢聆听,再见!
$$