Python程序设计基础项目化教程 课件 项目二 数据类型及其应用_第1页
Python程序设计基础项目化教程 课件 项目二 数据类型及其应用_第2页
Python程序设计基础项目化教程 课件 项目二 数据类型及其应用_第3页
Python程序设计基础项目化教程 课件 项目二 数据类型及其应用_第4页
Python程序设计基础项目化教程 课件 项目二 数据类型及其应用_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Python语言程序设计》项目二数据类型及其运算Contents变量定义的方法常用数据类型常用运算符变量定义的方法PART01常量与变量

在编写程序时,表示数据的量可以分为两种:常量和变量。常量,是指在程序运行过程中值不能发生改变的量,如1、3.5、3+4i、"abc"等。变量,是指在程序运行过程中值可以发生改变的量。与数学中的变量一样,需要为Python中的每一个变量指定一个名字,如x、y、test等。定义一个变量

Python变量的类型由其值的类型决定。变量在使用前不需要先定义,为一个变量赋值后,则该变量会自动创建。变量的命名规则如下:变量名可以包括字母、数字和下划线,但是数字不能作为开头字符。例如,test1是有效变量名,而1test则是无效变量名。系统关键字不能做变量名使用。例如,and、break等都是系统关键字,不能作为变量名使用。Python的变量名区分大小写。例如,test和Test是两个不同的变量。示例01

定义一个变量【任务描述】了解变量的定义和使用方法【关键步骤】了解变量的定义和使用方法1 test='HelloWorld!’2 Test=1233 print(test)#输出“HelloWorld!”4 print(Test)#输出“123”5 test=10.56 print(test)#输出“10.5”下面的代码说明了变量的定义和使用方法。定义一个变量示例01

变量1,变量2,…,变量n=值1,值2,…,值n在一条语句中可以同时定义多个变量,其语法格式如下:赋值运算符右边的值1、值2、……、值n会分别赋给左边的变量1、变量2、……、变量n。同时定义多个变量同时定义多个变量【任务描述】了解多个变量的使用方法【关键步骤】了解多个变量的使用方法示例02name,age='张三',18对于下面的代码:执行完毕后会定义两个变量:name是一个字符串型变量,其值为"张三";age是一个整型变量,其值为18。1 x,y=5,102 x,y=y,x对于已定义的变量,也可以在一条语句中修改多个变量的值。例如:第1行代码的作用是定义了两个整型变量x和y,它们的值分别是5和10。第2行代码的作用是将赋值运算符右边y和x的值取出并分别赋给左边的x和y,执行完毕后,x的值为10,y的值为5,即将x和y的值进行了交换。同时定义多个变量示例01数据类型PART02数据类型-Number【任务描述】了解int(整型)了解float(浮点型)了解complex(复数类型)【关键步骤】了解int(整型)了解float(浮点型)了解complex(复数类型)示例01整型数字包括正整数、0和负整数,不带小数点,无大小限制。整数可以使用不同的进制来表示:不加任何前缀为十进制整数;加前缀0o为八进制整数;加前缀0x则为十六进制整数。例如,对于下面的代码:a,b,c=10,0o10,0x10执行完毕后,a、b、c的值分别是10、8和16。其中,0o10为八进制数,输出时转为十进制数8;0x10为十六进制数,输出时转为十进制数16。数据类型-Number示例01浮点型数字使用C语言中的double类型实现,可以用来表示实数,如3.14159、-10.5、3.25e3等。当前环境中浮点数的取值范围和精度可以通过以下代码查看:importsys#导入sys包sys.float_info#查看当前环境中浮点型数字的取值范围和精度执行上面代码后,可以查看到如下格式的信息:sys.float_info(max=1.7976931348623157e+308,max_exp=1024,max_10_exp=308,min=2.2250738585072014e-308,min_exp=-1021,min_10_exp=-307,dig=15,mant_dig=53,epsilon=2.220446049250313e-16,radix=2,rounds=1)其中,min和max是浮点数的最小值和最大值,dig是浮点数所能精确表示的十进制数字的最大位数。数据类型-Number示例02复数由实部和虚部组成,每一部分都是一个浮点数,其书写方法如下:a+bj或a+bJ其中,a和b是两个数字,j或J是虚部的后缀,即a是实部、b是虚部。在生成复数时,也可以使用complex函数,其语法格式如下:complex([real[,imag]]例如,对于下面的代码:c1,c2,c3,c4,c5=3+5.5j,3.25e3j,complex(5,-3.5),complex(5),complex()执行完毕后,c1、c2、c3和c4的值分别是(3+5.5j)、3250j、(5-3.5j)、(5+0j)和0j。数据类型-Number示例03Python中的字符串可以写在一对单引号中,也可以写在一对双引号或一对三双引号中。例如:s1,s2='HelloWorld!',"你好,世界!"执行完毕后,s1和s2的值分别是字符串“HelloWorld!”和“你好,世界!”。对于不包含任何字符的字符串,如''或"",称为空字符串(或简称为空串)。String转义字符描述\(在行尾时)续行符\\反斜杠符号\’单引号\”双引号\n换行\r回车\t制表符String数据类型-String【任务描述】了解string了解转义符了解子串【关键步骤】了解string了解转义符了解子串示例041 s1='Hello\2 World!'#上一行以\作为行尾,说明上一行与当前行是同一条语句3 s2='It'sabook.'#单引号非成对出现,报SyntaxError错误4 s3='It\'sabook.'#使用\'说明其是字符串中的一个单引号字符5 s4="It'sabook."#使用一对双引号的写法,字符串中可以直接使用单引号,不需要转义6 s5="你好!\n欢迎学习Python语言程序设计!"#通过\n换行数据类型-String示例04利用下标“[]”可以从字符串中截取一个子串,其语法格式为:s[beg:end]其中,s为原始字符串,beg是要截取子串在s中的起始下标,end是要截取子串在s中的结束下标。省略beg,则表示从s的开始字符进行子串截取,等价于s[0:end];省略end,则表示截取的子串中包含从beg位置开始到最后一个字符之间的字符(包括最后一个字符);beg和end都省略则表示子串中包含s中的所有字符。数据类型-String示例04Python中字符串中字符的下标有两种索引方式:从前向后索引和从后向前索引。从前向后索引方式中,第1个字符的下标为0,其他字符的下标是前一字符的下标增1;从后向前索引方式中,最后一个字符的下标为-1,其他字符的下标是后一字符的下标减1。欢迎学习Python语言程序设计!012345678910111213141516-17-16-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1字符串从前向后索引从后向前索引数据类型-String示例041 s='欢迎学习Python语言程序设计!’2 print(s[2:4]#输出“学习”3 print(s[-3:-1])#输出“设计”4 print(s[2:-1])#输出“学习Python语言程序设计”5print(s[:10])#输出“欢迎学习Python”6 print(s[-5:])#输出“程序设计!”7 print(s[:])#输出“欢迎学习Python语言程序设计”数据类型-String示例041 s='欢迎学习Python语言程序设计!’2 print(s[2])#输出“学”3 print(s[-1])#输出“!”如果要截取的子串中只包含1个字符,则也可以采用写法:s[idx]使用下标“[]”可以访问字符串中的元素,但不能修改。例如,对于“s[2]='复'”这样的代码,执行时会报TypeError错误。数据类型-String示例04List(列表)中可以包含多个元素,且元素类型可以不相同。每一元素可以是任一数据类型。所有元素都写在一对方括号“[]”中,每两个元素之间用逗号分隔。对于不包含任何元素的列表,即[],称为空列表。12.5‘test’3+4jTrue[3,1.63]5.30123456-7-6-5-4-3-2-1列表从前向后索引从后向前索引List与字符串相同,利用下标“[]”可以从已有列表中取出其中部分元素形成一个新列表,其语法格式为:ls[beg:end]List数据类型-List与Tuple【任务描述】了解List与tuple了解切片【关键步骤】了解List与tuple了解切片示例051 ls=[1,2.5,'test',3+4j,True,[3,1.63],5.3]2 print(ls[1:4])#输出“[2.5,'test',(3+4j)]”3 print(ls[-3:-1])#输出“[True,[3,1.63]]”4 print(ls[2:-1])#输出“['test',(3+4j),True,[3,1.63]]”5 print(ls[:3])#输出“[1,2.5,'test’]”6 print(ls[-2:])#输出“[[3,1.63],5.3]”7 print(ls[:])#输出“[1,2.5,'test',(3+4j),True,[3,1.63],5.3]”数据类型-List与Tuple示例051 ls=[1,2.5,'test',3+4j,True,[3,1.63],5.3]2 print(ls[2])#输出“test”3 print(ls[-3])#输出“True”如果只访问列表ls中的某一个元素,则可以使用写法:ls[idx]通过下标“[]”不仅可以访问列表中的某个元素,还可以对元素进行修改。例如:ls[2]=15#将列表ls中第3个元素的值改为15数据类型-List与Tuple示例05Tuple(元组)与列表类似,可以包含多个元素,且元素类型可以不相同。与列表的不同之处在于:元组的所有元素都写在一对小括号“()”中,且元组中的元素不能修改。1 t=(1,2.5,'test',3+4j,True,[3,1.63],5.3)2 print(t[1:4])#输出“[2.5,'test',(3+4j)]”3print(t[-3:-1])#输出“[True,[3,1.63]]”4 print(t[2:-1])#输出“['test',(3+4j),True,[3,1.63]]”5 print(t[:3])#输出“[1,2.5,'test’]”6 print(t[-2:])#输出“[[3,1.63],5.3]”7print(t[:])#输出“[1,2.5,'test',(3+4j),True,[3,1.63],5.3]”8print(t[2])#输出“test”9print(t[-3])#输出“True”数据类型-List与Tuple示例05与元组和列表类似,Set(集合)中同样可以包含多个不同类型的元素,但集合中的各元素无序、不允许有相同元素且元素必须是可哈希(hashable)的对象。集合中的所有元素都写在一对大括号“{}”中,各元素之间用逗号分隔。创建集合时,既可以使用{},也可以使用set函数。set函数的语法格式为:set([iterable])Set与DictionaryDictionary(字典)是另一种无序的对象集合。但与集合不同,字典是一种映射类型,每一个元素是一个键(key):值(value)对。在一个字典对象中,键必须是唯一的,即不同元素的键不能相同;另外,键必须是可哈希数据,即键不能是列表、元组、集合、字典等类型;值可以是任意类型。对于不包含任何元素的字典,即{},称为空字典。Set与Dictionary数据类型-Set与Dictionary【任务描述】了解Set与Dictionary了解Set与Dictionary的特点【关键步骤】了解Set与Dictionary了解Set与Dictionary的特点示例061 a={10,2.5,'test',3+4j,True,5.3,2.5}2 print(a)#输出“{True,2.5,5.3,10,(3+4j),'test’}”3 b=set('hello’)4 print(b)#输出“{'e','l','o','h’}”5c=set([10,2.5,'test',3+4j,True,5.3,2.5])6 print(c)#输出“{True,2.5,5.3,10,(3+4j),'test’}”7 d=set((10,2.5,'test',3+4j,True,5.3,2.5))8 print(d)#输出“{True,2.5,5.3,10,(3+4j),'test'}”数据类型-Set与Dictionary示例06创建字典时,既可以使用{},也可以使用dict函数。如果要创建一个空字典,可以使用{}或dict(): a={} b=dict()如果在创建字典的同时,需要给出字典中的元素,如:1 a={'one':1,'two':2,'three':3}2 b=dict(one=1,two=2,three=3)3 c=dict(zip(['one','two','three'],[1,2,3]))4 d=dict([('one',1),('two',2),('three',3)])5 e=dict({'one':1,'two':2,'three':3})这5条语句创建的5个字典对象的元素完全相同,使用print函数查看结果,都能得到:{'one':1,'two':2,'three':3}数据类型-Set与Dictionary示例06与列表等序列对象不同,在访问字典中的元素时不能通过下标方式访问,而是通过键访问。例如:1 info={'name':'张三','age':19,'score':{'python':95,'math':92}}2 print(info['name'])#输出“张三”3 print(info['age'])#输出“19”4 print(info['score'])#输出“{'python':95,'math':92}”5 print(info['score']['python'])#输出“95”6 print(info['score']['math'])#输出“92”执行完毕后,第2至5行代码分别按对应注释中的描述输出结果。由于info['score']访问到的仍然是一个字典,所以后面可以再分别通过info['score']['python']和info['score']['math']访问该字典中的元素。数据类型-Set与Dictionary示例06运算符PART03在字符串中可以给出一些占位符用来表示不同类型的数据,而实际的数据值在字符串之外给出。占位符描述%d有符号整型十进制数%f或%F有符号浮点型十进制数%s字符串占位运算符1 s1='%s上次数学成绩%d,本次%d,成绩提高%f'%('小明',85,90,5/85)2 s2='%5s上次数学成绩%5d,本次%5d,成绩提高%.2f'%('小明',85,90,5/85)3 s3='%5s上次数学成绩%05d,本次%05d,成绩提高%08.2f'%('小明',85,90,5/85)1 小明上次数学成绩85,本次90,成绩提高0.0588242 小明上次数学成绩85,本次90,成绩提高0.063 小明上次数学成绩00085,本次00090,成绩提高00000.06通过print函数分别输出s1、s2和s3,可得到下面结果:占位运算符运算符使用方法功能描述+(加)x+yx与y相加-(减)x-yx与y相减*(乘)x*yx与y相乘/(除)x/yx除以y//(整除)x//yx整除y,返回x/y的整数部分%(模)x%yx整除y的余数-(负号)-xx的负数+(正号)+xx的正数**(乘方)x**yx的y次幂算术运算符算术运算符【任务描述】了解算术运算符的使用【关键步骤】了解算术运算符的使用示例071 i1,i2=10,32 f1,f2=3.2,1.53 c1,c2=3+4.1j,5.2+6.3j4 print(i1+i2)#输出“13”5 print(c1-c2)#输出“(-2.2-2.2j)”6 print(f1*f2)#输出“4.800000000000001”7 print(i1/i2)#输出“3.3333333333333335”8 print(i1//i2)#输出“3”9 print(i1%i2)#输出“1”10 print(-f1)#输出“-3.2”11 print(+f2)#输出“1.5”12 print(i1**i2)#输出“1000”算术运算符示例07运算符使用方法功能描述=y=x将x的值赋给y+=y+=x等价于y=y+x-=y-=x等价于y=y-x*=y*=x等价于y=y*x/=y/=x等价于y=y/x//=y//=x等价于y=y//x%=y%=x等价于y=y%x**=y**=x等价于y=y**x赋值运算符赋值运算符【任务描述】了解赋值运算符的使用【关键步骤】了解赋值运算符的使用示例081 i1,i2=10,3#i1和i2的值分别被赋为10和32 i1+=i2#i1的值被改为133 print(i1)#输出“13”4 c1,c2=3+4.1j,5.2+6.3j#c1和c2的值分别被赋为3+4.1j和5.2+6.3j5 c1-=c2#c1的值被改为-2.2-2.2j6 print(c1)#输出“-2.2-2.2j”7 f1,f2=3.2,1.5#f1和f2的值分别被赋为3.2和1.58 f1*=f2#f1的值被改为4.89 print(f1)#输出“4.8”10 i1,f1=3,0.5#i1和f1的值分别被赋为3和0.511 i1**=f1#i1的值被改为1.7320508075688772(即3的0.5次幂)12 print(i1)#输出“1.7320508075688772”赋值运算符示例08运算符使用方法功能描述==(等于)y==x如果y和x相等,返回True,否则返回False!=(不等于)y!=x如果y和x不相等,返回True,否则返回False>(大于)y>x如果y大于x,返回True,否则返回False<(小于)y<x如果y小于x,返回True,否则返回False>=(大于等于)y>=x如果y大于或等于x,返回True,否则返回False<=(小于等于)y<=x如果y小于或等于x,返回True,否则返回False比较运算符比较运算符【任务描述】了解赋值运算符的使用【关键步骤】了解赋值运算符的使用示例091 i1,i2,i3=25,35,25#i1、i2和i3分别被赋为25、35和602 print(i1==i2)#输出“False”3 print(i1!=i2)#输出“True”4 print(i1>i3)#输出“False”5 print(i1<i2)#输出“True”6 print(i1>=i3)#输出“True”7 print(i1<=i2)#输出“True”比较运算符示例09运算符使用方法功能描述and(逻辑与)xandy如果y和x都为True,返回True,否则返回Falseor(逻辑或)xory如果y和x都为False,返回True,否则返回Falsenot(逻辑非)notx如果x为True,返回False,如果x为False,返回True1 n=80,a=1002 print(n>=0andn<=a)#输出“True”,判断n是否大于等于0且小于等于a3 print(n<0orn>a)#输出“False”,判断n是否小于0或大于a4 print(not(n>=0andn<=a))#输出“False”逻辑运算符十进制整数转换为二进制采用“除基取余法”:用2去除十进制整数,得到商和余数;如果商不为0,则继续用2除,再得到商和余数,重复该步骤直至商为0;最后将余数按照从后至前的顺序排列,即得到转换后的十进制数。位运算符二进制数转十进制数的规则是“按权展开求和”,即将二进制数的每一位写成数码乘以位权的形式,再对乘积求和。例如,对于二进制数11010B,其对应的十进制数为:11010B=1*2^4+1*2^3+0*2^2+1*2^1+0*2^0

=1*16+1*8+0*4+1*2+0*1

=16+8+0+2+0

=26位运算符运算符使用方法功能描述&(按位与)y&x如果y和x对应位都为1,则结果中该位为1,否则为0|(按位或)y|x如果y和x对应位都为0,则结果中该位为0,否则为1^(按位异或)y^x如果y和x对应位不同,则结果中该位为1,否则为0<<(左移位)y<<x将y左移x位(右侧补0)>>(右移位)y>>x将y右移x位(左侧补0)~(按位取反)~x如果x的某位为1,则结果中该位为0,否则为1位运算符位运算符【任务描述】了解位运算符的使用【关键步骤】了解位运算符的使用示例101 i1,i2=3,6#i1对应的二进制数是11B,i2对应的二进制数是110B2 print(i1&i2)#输出“2”。计算方法:011B&110B=010B=23 print(i1|i2)#输出“7”。计算方法:011B|110B=111B=74 print(i1^i2)#输出“5”。计算方法:011B^110B=101B=55 print(i1<<1)#输出“6”。计算方法:11B<<1=110B=66 print(i1>>1)#输出“1”。计算方法:11B>>1=1B=1位运算符示例10运算符使用方法功能描述isx

is

y如果y和x对应同样的存储单元,返回True,否则返回Falseisnotxisnoty如果y和x不对应同样的存储单元,返回True,否则返回False身份运算符身份运算符【任务描述】了解身份运算符的使用【关键步骤】了解身份运算符的使用示例111 x,y=15,152 print(xisy)#输出“True”3 print(xisnoty)#输出“False”4 print(xis15)#输出“True”5 x,y=[1,2,3],[1,2,3]6 print(xisy)#输出“False”7 print(x==y)#输出“True”8 print(xis[1,2,3])#输出“False”9 x=y10 print(xisy)#输出“True”身份运算符运算符使用方法功能描述inx

in

y如果x是可迭代对象y的一个元素,返回True,否则返回Falsenotinxnotiny如果x不是可迭代对象y的一个元素,返回True,否则返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论