(共19张PPT)
3.2
——Python语言程序设计(二)
课堂回顾
1.Python常见数据类型:
(1)整型:数学中的整数;十六进制的形式(0x)
(2)实型:数学中的实数;科学记数的形式(1.2e-5)
(3)字符串型:用单引号或双引号或三引号表示
(4)布尔型:只有两种值(True 和 False)
2.Python运算符
(1)算术运算符:**、*、/、//、%、+、-。
(2)关系运算符:>、<、>=、<=、==、!=、in
(3)逻辑运算符:not、and、or。
(4)Python运算符的优先级(算术 > 关系 > 逻辑)
注:Python是一种字母大小写敏感的编程语言,注意字母的大小写
Python语言基础(变量及其命名)
变量:指在程序运行过程中其值可改变的量,使用前不需要预先声明类型。
Python变量命名规则:
1.由字母、数字、下划线组成,如stu_1
2.不能以数字开头
3.字母区分大小写,如a和A是两个变量
4.不能使用保留字,如for,while,in,and等保留字不能作为变量名
Python语言基础(变量的赋值)
方法 含义 方法 含义
x = 8 将数值8赋值给变量x x += 1 将变量x的值加1,与“x=x+1”等价
x = a*b 将a*b的值赋值给变量x x -= 1 将变量x的值减1,与“x=x-1”等价
x,y = 5,8 将数值5赋值给变量x 将数值8赋值给变量y x *= y 将变量x的值乘以y,与“x=x*y”等价
x,y = “ab” 将字符“a”赋值给变量x 将字符“b”赋值给变量y x /= y 将变量x的值除以y,与“x=x/y”等价
x = y = z =1 将数值1分别赋值变量x,y,z x %= y 将变量x的值对y求余数,与“x=x%y”等价
练一练
1.下列可以作为Python变量名的是
A.1_stu B.if C.name@1 D.max_score
2.下列语句不能进行赋值的是
A.x,y=3,12 B.x*=5 C.x=y=24%3 D.x,y=4+8
D
D
Python语言基础(基本数据结构)
不可变
1
0
问答(学完思考):
1、字符串是不可变的,所以一旦创建了,那么就不能修改,假设s=‘a’,那么执行s[0]=‘b’能修改s的值吗?
如果是s=‘b’呢,会报错吗?
2、通过索引定位,索引号从0开始,那么s=“abcdhelen”,问s[3]= ,如果想取到n,那么索引为多少?
3、访问一定范围的元素用:实现,那么s=“abcdhelen”,问s[4:8]= ,s[4:9]=?两者的区别是什么?
所以结束元素序号是开区间,取不到的,取到的是结束元素序号的前一个元素
3、要实现对s=“abcdhelen”进行逆序,通过索引实现还是切片?怎么做呢?
Python语言基础(基本数据结构)
1. 序列元素的引用
切片方式:序列的切片就是从序列中切分出小的子序列。
切片格式:a[start:end:step]
参数缺省值:[0:n:1]
>>> a = ‘Hello’ # 创建字符串 >>> a[1:2] 或 a[1:2:] ‘e’ >>> a[1:5:2] 或 a[1::2] ‘el’ >>> a[:] ‘Hello’ >>> a[3:-1] ‘l’ >>> a[-5:-1:2] ‘Hl’ >>> a[-1:-5]
‘’
>>> a[::-1]
‘olleH’
序列的切片区间为左闭右开区间
S=“merry heart.”
Python语言基础(基本数据结构)
Python语言基础(基本数据结构)
二、字典:字典和列表类似,可包含多个元素。
1. 字典的格式
字典中的每个元素包含两部分内容:键(key)和值(value)
键和值在字典中成对出现,键和值用冒号分隔,各个对之间用逗号分隔,所有这些都包含在花括号“{ }”中。
d = {key1:value1 , key2:value2 ,…}
键通常用字符串或数值来表示,值可是任意类型的数据
>>> dic = {‘张三’:‘男’,‘李四’:‘女’,‘王五’:‘男’}
Python语言基础(基本数据结构)
2. 字典元素的引用(序列名[索引] )
与序列不同,字典中的元素是无序的,也就是字典元素没有索引。如果要引用字典元素,可以键为索引。
键和值两者一 一对应,每个键只能对应一个值,且同一个字典中没有重复的键(键具有唯一性)。所以,我们可以根据唯一的键去查询与其对应的值。
>>> dic = {‘张三’:‘男’,‘李四’:‘女’,‘王五’:‘男’} # 创建字典
>>> print(dic[‘张三’])
‘男’
>>> print(dic[‘李四’])
‘女’
练一练
4.已知字符串st=‘HiPython’,则st[-6:8]的值为
A.‘nohtyp’ B.‘python’ C.‘on’ D.‘Python’
5.已知列表a=[1,3,5,],b=[2,4,5],则a+b的结果为
A.[1,2,3,4,5] B.[1,2,3,4,5,5]
C.[1,3,5,2,4,5] D.列表不能整体相加
6.已知列表a=[‘13’,’233’,’6’],b=[‘3’,’23’],则下列表达式中值为True的为
A.a>b+[‘999’] B.b*2
D
C
D
7.下面哪一项是正确的创建字典的语句
A.dic={a:10,b:15,c:20}
B.dic={1:[10,10],2:[20,20]}
C.dic={[10,10]:10,[20,20]:20}
D.dic=[‘a:’’Tom’,’b:’’Jerry’,’a:’’Tony’]
8.ch为字符串s中的最后一个字符,用Python语言表达为 。
练一练
B
ch=s[-1]
1. 下列选项中变量和数据结构不正确的是( )
A._B4
B.list
C.创建字典: m={“李华”, “高三”, “98”}
D.“hello ”*3的值为“hello hello hello ”
2. 已知字符串a="python",则a[1]的值为( )
A."p" B."py" C."Py" D."y"
3. 已知字符串a="python",则print(a[1]+a[3])的值为( )
A."yth" B."yt" C."py" D."yh"
练一练
C
D
D
5. 已知字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' },要得到字典中的值'b',下列方法可行的是( )
A.dict1[(1,2)] B.dict1{'b'} C.dict1[3] D.dict1['b1']
6. 已知字典dict1={1001:”mali”, 1002:”lucy”, 1003:”jack”, 1004:”jhon” },要得到字典中的“jack”,下列方法可行的是( )
A.dict1[2] B.dict1{1003}
C.dict1[1003] D.dict1[“jack”]
7. 中国大陆居民身份证由18位数字组成,其中第7至14位数字表示出生日期,用字符串变量s存储身份证号码,以下Python表达式中能提取出生日期的是( )
A.s[7:14] B.s[6:13] C.s[7:-5] D.s[-12:-4]
8 .已知a=["a","b","c",1,2,3],想要获取列表a中"b"和"c"的切片,下列语句正确的是( )
A.print(a[b:c]) B. print(a[1:2])
C. print(a[1:3]) D. print(a[1:-4])
A
C
D
C
9. 若a="20230678",b="246",则表达式a[5:]+b[2:1:-1]*3的值为( )
A. "24" B. "696" C. "678666" D. "0678444"
10. 已知列表a=[1,2,3],则a*3的结果为 ( )
A.[1,2,3] B.[3,6,9]
C.[1,2,3,1,2,3,1,2,3] D列表不能做乘法运算,程序错误
11.已知list=["Word","for","sent","city","piano"],则list[3][2]的返回值为( )
A."e" B."o" C."t" D."a"
CCC
14. 有如下Python程序段:
a=''1357''
list1=[''car'',''bus'',''bike'']
list1[1]=a[1:3]
print(list1)
该程序段运行之后的结果为( )
A. ['car', 'bus', 'bike'] B. ['car', '35', 'bike']
C. ['car', 35, 'bike'] D. ['car', '3 ', '5', 'bike']
B
课堂小结
1.Python变量
(1)变量命名:由大小写字母、数字、下划线组成,不能以数字开头,字母区分大小写,不能使用保留字。
(2)变量赋值:=、+=、-=、*=、/=、%=
2.Python基本数据结构:字符串、列表、字典
(1)字符串、列表
是有序的序列
元素的引用:索引、切片
基本运算:乘法(重复序列)、加法(连接序列)、关系运算、成员运算
(2)字典
元素是无序的,但元素中的键具有唯一性
格式: d = {key1:value1 , key2:value2 ,…}
元素的引用:以键为索引