模块2 Python语言基础电子课件 Python程序设计基础.pptx
《模块2 Python语言基础电子课件 Python程序设计基础.pptx》由会员分享,可在线阅读,更多相关《模块2 Python语言基础电子课件 Python程序设计基础.pptx(82页珍藏版)》请在冰点文库上搜索。
模块2Python语言基础电子课件Python程序设计基础,模块二Python语言基础,2.4,Python数据类型,字符串和编码,2.12.22.3Python运算符及其优先级,控制语句,2.5合理使用list、tuple、dict和set,2.6,实训:
统计一段文字中的字母、空格和数字的个数,Python有哪些数据类型?
Python的字符串如何应用?
Python有哪些运算符及其优先顺序如何?
Python的控制语句如何使用?
合理使用list、tuple、dict和set。
学习要点,01,Python数据类型,2.1Python数据类型,简单数据类型整型int整型是没有小数部分的数字,如-5、-4、-3、0、7、9等。
在Python中声明一个整型,仅需要写成如下的形式。
variableName=initialvalue例如:
num=20,userAge=18在大多数32位机器上,标准整型变量的取值范围为-21474836482147483647。
除了可以用十进制表示整型数据外,还可以用八进制和十六进制来表示。
八进制整数以“0o”开始,十六进制整数以“0x”或“0X”开始。
例如:
x=0o75y=0x7a,2.1Python数据类型,2.1.1简单数据类型2.浮点型float浮点型表示的是带有小数点部分的数字,如1.234、-0.05、11.25等。
在Python中声明一个浮点型,可以这样写:
variableName=initialvalue例如:
price=2.55,userWeight=88.93.字符串str字符串表示的是文本。
为了表示一个字符串的值,需要用单引号()或双引号()括起来。
例如:
userName=张三,password=123456,userAge=30在最后一个例子中,写的是userAge=30,因此userAge是一个字符串,相反,如果用户写的是userAge=30,那么userAge是一个整数。
可以使用连接符号(+)来连接多个子字符串,如Hello+world等于字符串Helloworld。
2.1Python数据类型,2.1.1简单数据类型长整型long长整型是整型的超集。
在一个整型值后面加上一个L(大写或小写都可以,但推荐使用大写,避免和数字1混淆),表示这个整数是长整数。
同整型一样,这个数可以是十进制、八进制或十六进制。
例如:
dLong=8888888888888888888888888888888888888888888888LoLong=0777777777777777777777777777777777777777777777LhLong=0XFFFFFFFFFFFFFFFFFAAAAAAAAAAAAABBBBBBBBBB78L布尔型bool该值的取值只有两个:
True
(1)和False(0)。
例如:
Tbool=TrueFbool=False,2.1Python数据类型,6.空值NonePython有一个特殊的空值常量None。
与0和空字符串()不同,None表示什么都没有;None与任何其他数据类型比较永远返回False。
2.1.1简单数据类型,2.1Python数据类型,2.1.2变量与常量1.变量是什么在程序运行过程中,值可以不断变化的量即为变量。
例如:
x=3;x=2*x;在上述程序段中,x的初值为3,后更新为2*x,即为6(事实上,x的值还可以持续更改下去),x即为整型变量。
程序中每个变量都需要一个名字(如上述x即为变量名)来识别它,Python中变量名的命名规则为:
变量名可以是数字、字母、下划线的组合,其中不能以数字作为开头;Python的关键字不能用作变量名,且变量名要尽量有意义(见名知义)。
2.1Python数据类型,2.常量是什么与变量相反,在程序运行过程中,值不能被修改的量即为常量。
Python中没有专门定义常量的方式,通常使用大写变量名表示,仅仅是一种提示效果。
例如:
NAME=tony其本质还是变量。
Python常量包括数字、字符串、布尔值和空值。
2.1.2变量与常量,2.1Python数据类型,使用注释主要有以下两方面的原因。
方便自己查看写过的代码。
为了能更好地维护项目,需要适当写注释。
注释的内容对程序的运行结果没有影响。
Python中的注释分为单行注释和批量、多行注释。
1.单行注释(#)Python中的单行注释以#开头。
例如:
#thisisacomment,2.1.3Python的注释,2.1Python数据类型,2.1.3Python的注释2.批量、多行注释(或)Python的批量、多行注释用三引号包含要注释的内容,可以是三个单引号,也可以是三个双引号。
例如:
Python代码行1Python代码行2Python代码行3Python代码行1Python代码行2Python代码行3,02,字符串和编码,2.2字符串和编码,2.2.1字符编码概述字符编码(characterencoding)是将字符集中的字符码映射为字节流的一种具体实现方案,常见的字符编码有ASCII编码、UTF8编码、GBK编码等。
从某种意义上来说,字符集与字符编码有种对应关系。
例如,ASCII字符集对应有ASCII编码。
ASCII字符编码规定使用单字节中低位的7比特去编码所有的字符。
例如,A的编号是65,用单字节表示就是0x41,因此写入存储设备时就是b01000001。
编码的过程是将字符转换成字节流,解码的过程是将字节流解析为字符。
Python的字符编码有ASCII码、多字节字符编码GBK、Unicode编码及UTF-8编码(详细内容请查看相关资料)。
从严格意义上来讲,Unicode才是真正的字符串,而用ASCII、UTF8、GBK等字符编码表示的是字节串。
Unicode字符串可以与任意字符编码的字节进行相互转换,如图2-1所示。
图2-1Unicode编码与其他编码相互转换,2.2字符串和编码2.2.1字符编码概述,2.2字符串和编码,Python2的默认编码是ASCII,不能识别中文字符,需要显式指定字符编码;Python3的默认编码为Unicode,可以识别中文字符,而且它已经实现了对Unicode的内置支持,从这方面来讲,Python已经和Java一样优秀。
2.2.1字符编码概述,2.2字符串和编码,2.2.2Python的字符串前面已经提到过,字符串是单引号或双引号括起来的一串字符。
此处重点讲解有关字符串的运算。
1.转义字符转义字符及其描述如表2-1所示。
2.2字符串和编码,2.2.2Python的字符串2.Python字符串运算符在表2-2中,变量a的值为字符串Hello,变量b的值为Python,各运算符运算规则及结果如表中所示。
2.2字符串和编码,2.2.2Python的字符串【例2-1】Python字符串运算。
a=hellob=worldprint(a+b)print(a*2)print(a2)print(a1:
4)if(hina):
print(h在变量a中)else:
print(h不在变量a中)if(Hnotina):
print(H不在变量a中)else:
print(H在变量a中),执行结果如下。
helloworldhellohellolellh在变量a中H不在变量a中,2.2字符串和编码2.2.2Python的字符串,2.2字符串和编码,2.2.2Python的字符串3.Python中的格式化字符在Python中会遇到一个问题,即如何输出格式化的字符串。
我们经常会输出类似“亲爱的你好!
你月的话费是,余额是”之类的字符串,而的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,用%实现字符串的格式化。
语法:
%s%字符串例如,“Hello,%s%world”运行结果如下。
Hello,world再如,“Hi,%s,youhaveMYM%d.%(Mary,1000)”运行结果如下。
Hi,Mary,youhaveMYM1000.在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%占位符,后面就跟几个变量或值,顺序要对应好。
如果只有一个%,那么括号可以省略。
字符串格式化符号如表2-3所示。
2.2字符串和编码2.2.2Python的字符串,03,Python运算符及其优先级,2.3Python运算符及其优先级,2.3.1算术运算符,本节主要说明Python运算符及优先级。
例如,5+8=13。
其中,5和8被称为操作数,“+”被称为运算符。
Python语言支持以下类型的运算符。
算术运算符。
比较(关系)运算符。
赋值运算符。
逻辑运算符。
成员运算符。
身份运算符。
2.3Python运算符及其优先级,2.3.1算术运算符Python的算术运算符主要完成操作数的算术运算,包括加、减、乘、除、幂、取整等,具体描述及实例如表24所示(表中实例,假设变量a为10,b为21)。
2.3Python运算符及其优先级2.3.1算术运算符【例2-2】Python算术运算。
2.3Python运算符及其优先级,2.3.2比较运算符,比较运算符主要完成操作数的比较计算,比较的结果通常是一个逻辑量(True或False)。
Python的比较运算符描述及实例如表2-5所示。
2.3Python运算符及其优先级2.3.2比较运算符,2.3Python运算符及其优先级,2.3.2比较运算符【例2-3】Python比较运算。
a=3b=3print(a=b)a=1print(a!
=b)a=7print(ab)print(ab)a=3print(a=b)print(a=b),执行结果如下。
TrueTrueTrueFalseTrueTrue,2.3Python运算符及其优先级,2.3.3赋值运算符赋值运算符“=”表示将右侧的值赋给左侧的变量或表达式。
除简单的赋值运算符外,Python还提供了复合的赋值运算符,见表2-6。
赋予a和b确定的数值,则上述实例的运行结果如例2-4所示。
2.3Python运算符及其优先级,2.3.3赋值运算符【例2-4】Python赋值运算。
a=22b=11,c=0c=a+bprint(1-c的值为:
c)c+=aprint(2-c的值为:
c)c*=aprint(3-c的值为:
c)c/=aprint(4-c的值为:
c)c%=aprint(5-c的值为:
c)c*=aprint(6-c的值为:
c),执行结果如下。
-c的值为:
33-c的值为:
553-c的值为:
12104-c的值为:
55.05-c的值为:
26-c的值为:
41943047-c的值为:
190650,2.3Python运算符及其优先级2.3.4逻辑运算符逻辑运算符用于将两个变量或表达式进行逻辑运算。
Python的逻辑运算符有与、或、非三种,见表2-7。
2.3Python运算符及其优先级,2.3.4逻辑运算符【例2-5】Python逻辑运算。
a=22b=11print(aandb)print(aorb)print(nota)print(notb)执行结果如下。
1122FalseFalse,2.3Python运算符及其优先级,2.3.5成员运算符除了上述运算符之外,Python还支持成员运算符,用于测试实例中是否包含了一系列成员,包括字符串、列表或元组。
Python的成员运算符描述及实例见表2-8。
2.3Python运算符及其优先级,2.3.5成员运算符【例2-6】Python成员运算。
a=11b=22list=1,2,3,4,5;if(ainlist):
print(“1-变量a在给定的列表list中)else:
print(1-变量a不在给定的列表list中)if(bnotinlist):
print(2-变量b不在给定的列表list中)else:
print(2-变量b在给定的列表list中)#修改变量a的值a=2if(ainlist):
print(3-变量a在给定的列表list中)else:
执行结果如下。
-变量a不在给定的列表list中-变量b不在给定的列表list中-变量a在给定的列表list中,2.3Python运算符及其优先级2.3.6身份运算符身份运算符用于比较两个对象的存储单元,即判断两个标识符是否引自同一个对象,见表2-9。
2.3Python运算符及其优先级,2.3.6身份运算符,【例2-7】Python身份运算。
a=22b=22if(aisb):
print(1-a和b有相同的标识)else:
print(1-a和b没有相同的标识)if(aisnotb):
print(2-a和b没有相同的标识)else:
print(2-a和b有相同的标识)#修改变量b的值b=30,if(aisb):
print(3a和b有相同的标识)else:
print(3-a和b没有相同的标识)if(aisnotb):
print(4-a和b没有相同的标识)else:
print(4-a和b有相同的标识),2.3Python运算符及其优先级2.3.6身份运算符,执行结果如下。
-a和b有相同的标识-a和b有相同的标识-a和b没有相同的标识-a和b没有相同的标识,2.3Python运算符及其优先级2.3.7运算符的优先级表2-10列出了Python运算符的优先级。
表格中自上至下优先级逐渐降低。
04,控制语句,2.4控制语句,2.4.1条件语句Python语言中的流程控制语句分为三种,分别是顺序语句、条件语句和循环语句。
其中,顺序语句不需要单独的关键字来控制,就是一行行地执行,不需要进行特殊说明。
这里主要介绍条件语句和循环语句。
图2-2条件语句的执行流程,2.4控制语句,2.4.1条件语句Python语言指定任何非0和非空(null)值为True,0或者null为False。
Python编程中的if语句用于控制程序的执行,其形式主要有以下两种。
1.基本形式if判断条件:
执行语句else:
执行语句其中“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示不同范围。
else为可选语句,当条件不成立时可以执行相关语句。
2.4控制语句,2.4.1条件语句,【例2-8】if语句的基本形式。
score=88if(score=60):
print(通过了考试,恭喜你!
)else:
print(还需要多多努力!
)执行结果如下。
通过了考试,恭喜你!
2.4控制语句,2.4.1条件语句2.判断条件为多个值时当判断条件为多个值时,可以使用以下形式。
if判断条件1:
执行语句1elif判断条件2:
执行语句2elif判断条件3:
执行语句3else:
执行语句4当某一个判断条件成立时,执行其相应的语句,如此可以完成更加强大的功能。
2.4控制语句,2.4.1条件语句【例2-9】多分支的if语句。
score=88if(score=90):
print(成绩为优秀)elif(score=80):
print(成绩为良好)elif(score=70):
print(成绩为中等)elif(score=60):
print(通过了考试,恭喜你!
)else:
print(还需要多多努力!
)执行结果如下。
成绩为良好,2.4控制语句,2.4.1条件语句,由于Python并不支持switch语句,所以多个条件判断只能用elif来实现,如果需要同时判断多个条件,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用and(与)时,表示只有两个条件同时成立,判断条件才成功。
2.4控制语句,2.4.2循环语句循环语句允许多次执行一个语句或语句组,图2-3所示为在大多数编程语言中循环语句的执行流程。
从图中可以看出,当if条件成立时,循环体语句将会反复被执行,直到条件为假时才结束。
Python提供了while循环和for循环(在Python中没有dowhile循环),图2-3循环语句的执行流程,2.4控制语句,2.4.2循环语句,1.while循环语句Python编程中的while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
其形式有以下两种。
1)基本形式while判断条件:
执行语句执行语句可以是单个语句或语句块。
判断条件可以是任何表达式,任何非零或非空(null)的值均为True。
当判断条件为False时,循环结束。
2.4控制语句,2.4.2循环语句【例2-10】while循环语句。
count=0while(count9):
print(Thecountis:
count)count=count+1print(Hello,count)执行结果如下。
Thecountis:
0Thecountis:
1Thecountis:
2Thecountis:
3Thecountis:
4Thecountis:
5Thecountis:
6Thecountis:
7Thecountis:
8,在上述程序中,当count值为9时,循环条件为假,循环体语句结束执行。
2.4控制语句,2.4.2循环语句2)whileelse在while循环语句中,还可以使用whileelse结构,在循环条件为False时执行else语句块。
【例2-11】whileelse循环语句。
count=0whilecount5:
print(count,islessthan5)count=count+1else:
print(count,isnotlessthan5)执行结果如下。
0islessthan51islessthan52islessthan53islessthan54islessthan55isnotlessthan5,2.4控制语句,2.4.2循环语句2.for循环语句for循环可以遍历任何序列的项目,如一个列表或一个字符串。
for循环的语法格式如下。
foriterating_varinsequence:
statements(s)图2-4所示为for循环语句的执行流程。
图2-4for循环语句的执行流程,2.4控制语句,2.4.2循环语句,【例2-12】for循环语句。
forletterinPython:
print(当前字母:
letter)fruits=banana,apple,mangoforfruitinfruits:
print(当前水果:
fruit)print(Goodbye!
),执行结果如下。
当前字母:
P当前字母:
y当前字母:
t当前字母:
h当前字母:
o当前字母:
n当前水果:
banana当前水果:
apple当前水果:
mangoGoodbye!
另外一种执行循环的遍历方式是通过索引。
2.4控制语句,2.4.2循环语句【例2-13】索引方式遍历for循环。
fruits=banana,apple,mangoforindexinrange(len(fruits):
print(当前水果:
fruitsindex)print(Goodbye!
)执行结果如下。
当前水果:
banana当前水果:
apple当前水果:
mangoGoodbye!
2.4控制语句,2.4.2循环语句,3.break语句Python中的break语句就像其他语言中的break语句,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
Python语言中break语句的语法如下。
break示例如下。
2.4控制语句,2.4.2循环语句,【例2-14】break语句。
forletterinPython:
ifletter=h:
breakprint(当前字母:
letter)执行结果如下。
当前字母:
P当前字母:
y当前字母:
t,2.4控制语句,2.4.2循环语句,4.continue语句在Python中,break语句跳出整个循环,而continue语句跳出本次循环。
continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句同样用在while和for循环中。
Python语言中continue语句的语法格式如下。
continue示例如下。
2.4控制语句,2.4.2循环语句,【例2-15】continue语句。
forletterinPython:
ifletter=h:
continueprint(当前字母:
letter)执行结果如下。
当前字母:
P当前字母:
y当前字母:
t当前字母:
o当前字母:
n,2.4控制语句,2.4.3pass语句,在Python中,pass是空语句,其目的是保持程序结构的完整性。
pass不做任何事情,一般用作占位语句。
pass语句的语法格式如下。
pass示例如下。
2.4控制语句,2.4.3pass语句【例2-16】pass语句。
forletterinPython:
ifletter=h:
passprint(这是pass块)print(当前字母:
letter)print(Goodbye!
)执行结果如下。
当前字母:
P当前字母:
y当前字母:
t这是pass块当前字母:
h当前字母:
o当前字母:
nGoodbye!
05合理使用list、,tuple、dict和set,2.5合理使用list、tuple、dict和set,2.5.1list列表的运用,序列是Python中最基本的数据结构。
序列中的每个元素都分配一个数字作为它的位置或索引,第一个索引是0,第二个索引是1,以此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
列表是最常用的Python数据类型,它可以将若干数值存放于一个方括号内,以逗号作为分隔。
列表的数据项不需要具有相同的类型。
创建一个列表,只要使用方括号把用逗号分隔的不同的数据项括起来即可,如下所示。
list1=physics,chemistry,1997,2000list2=1,2,3,4,5list3=a,b,c,d与字符串的索引一样,列表索引从0开始。
列表可以进行截取、组合等。
表2-11中列出的是Python列表脚本操作符。
2.5合理使用list、tuple、dict和set2.5.1list列表的运用,2.5合理使用list、tuple、dict和set,2.5.1list列表的运用1.访问列表中的元素使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,如下所示。
【例2-17】访问列表元素。
list1=physics,chemistry,1997,2000list2=1,2,3,4,5,6,7print(list10:
list10)print(list21:
5:
list21:
5)执行结果如下。
list10:
physicslist21:
5:
2,3,4,5,2.5合理使用list、tuple、dict和set,2.5.1list列表的运用2.更新列表中的元素用户可以对列表中的数据项进行修改或更新,也可以使用append()方法来添加列表项,如下所示。
【例2-18】更新列表元素。
list=#空列表list.append(Google)#使用append()方法添加元素list.append(OK)print(list)执行结果如下。
Google,OK,2.5合理使用list、tuple、dict和set