Python程序设计与大数据-第2章-数据类型.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计与大数据-第2章-数据类型.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 数据 数据类型
- 资源描述:
-
1、2.2数据类型申明及基本运算2.3列表2.4元组2.7字典习题2.6哈希运算of5612.8字符串第二章数据类型2.5range2.1核心内置数据类型概述2.1 核心内置数据类型概述第二章 数据类型of312Python的数据类型分为数值类型(数值类型包括整型、浮点型等)、序列类型(列表、元组,包括字符串,字符串本质上也是一个序列类型)、集合类型、字典(是一个比较特殊的叫做映射类型)以及其它类型。Python提供了一个特定的内置函数type()来检查一个对象的类型,它返回的是一个叫做类型对象的特殊类型,可以把它归类到其它的类型里边。2.1 核心内置数据类型概述第二章 数据类型of3131类型检
2、测函数type()使用type()函数快速检查某一个变量或常量的类型,以便确定它们所能进行操作的种类。type(8)说明“8”是属于“int”类型的。但目前并没有把它放到变量里边。其中“”就是一个类型对象,是用来描述数据类型的一个类型对象。type(3.14)检测的结果表明,小数“3.14”的类型是“float”类型,是浮点类型。当然也可以检测变量的类型,例如:name=Tom type(name)2.1 核心内置数据类型概述第二章 数据类型of3142空对象(None)Python中还有一个特殊的类型称之为空对象。空对象(None):表示一个特殊的常量,表示什么都没有。3布尔类型(bool)
3、的本质Python中的布尔类型,表示事物的两种状态,真(True)或者假(False),通常它是用来测试一个结果是“真”或“假”。看下面的实例:5 35 type(5 3”或者“5 3”创建一个对象,“5 3”这个对象是有类型的,可以用type()函数测试所创建的这个对象的类型。2.1 核心内置数据类型概述第二章 数据类型of315bool类型中的True和False对应着int类型中的1和0。Python里布尔型既有两个独立的常量“True、False“,另外它和int型的1和0 又有着千丝万缕的关系。True=1False=0以上实例说明bool型的True的本质和int型的1是一致的,F
4、alse和0一致。2.1 核心内置数据类型概述第二章 数据类型of316True=1True=3False=0False=-3上结果表明bool型的True和False只和int型的1和0对应。2.1 核心内置数据类型概述第二章 数据类型of317可以直接把bool型的True和Fals当作一个1或者0来使用:x=3+Trueprint(x)y=4+Falseprint(y)2.1 核心内置数据类型概述第二章 数据类型of318另外,布尔型也有一个内置函数“bool”,它可以将某个值转换成布尔型的结果。bool(obj):将对象“obj”转换成布尔型。bool(1)bool(0)bool(4)
5、bool(-5)注意:本质上“True”等同于1,“False”等同于0,但转换时就不限于1和0了。转换的原则是:把各种不同类型的特殊数据当作“False”来处理,非特殊数据当作“True”来处理。2.1 核心内置数据类型概述第二章 数据类型of319bool(abc)bool()#空字符串前面介绍了一个特殊的对象“None”,空对象,空对象是什么都没有,也当作“False”来处理。bool(None)各种数据类型的特殊值:数值0、0.0、空字符串、空列表、空元组()、空字典、空集合set()等也都当作“False”。2.2数据类型申明及基本运算2.3列表2.4元组2.7字典习题2.6哈希运算
6、of56102.8字符串第二章数据类型2.5range2.1核心内置数据类型概述2.2 数据类型申明及基本运算第二章 数据类型of31112.2.1 整型整数类型共有4种进制表示:十进制、二进制、八进制、十六进制。(1)十进制整数。为默认情况,由0-9的数字组成,如12,23。(3)八进制整数。由0-7的数字组成,在Python中表示该数为八进制时需在数字前面加0o或0O(第1个是数字0,第2个是字母o,大写或者小写均可。以下均相同),如0o1,0O11等。(2)十六进制整数。由0-9的数字、a-f的字母组成,在Python中表示该数为十六进制时需在数字前面加0 x或0X,如0 xbb,0 x
7、3d等。(4)二进制整数。由0-1的数字组成,在Python中表示该数为二进制时需在数字前面加0b或0B,如0b0,0b10等。第二章 数据类型of31122.2.2 浮点数类型2.2 数据类型申明及基本运算Python中的浮点数有2种表示形式:十进制表示和科学计数法表示。十进制表示法与数学中的实数表示法一致。如:.1、1.1、0.1、1.0等都是合法的表示方法。1.1*10-2的科学计数法为1.1e-2或1.1E-2,e或E表示以10为底,后跟10的幂次方,其值为0.011。第二章 数据类型of31132.2.3 复数类型2.2 数据类型申明及基本运算Python中的复数类型表示数学中的复数
8、。复数分为实部和虚部,其中虚部通过j或J来表示。如:12.5+5j或者12.5+5J。复数的实部和虚部都是浮点类型。对于复数z,可以用z.real和z.imag来分别获得它的实数部分和虚数部分。例:z=3.4+5.2Jtype(z)z.real z.imag第二章 数据类型of31142.2.4 数字运算符2.2 数据类型申明及基本运算变量被赋值为数字类型后,可以进行数学中的加减乘除等各种运算。Python提供大部分常用的算术运算符,如加、减、乘、除等等。表2-1给出了常见的算术运算符。表2-1 常用算术运算符运算符描述+加法。对符号左右两个数进行加法运算-减法。对符号左右两个数进行减法运算*
9、乘法。对符号左右两个数进行乘法运算/除法。对符号左右两个数进行除法运算%取模。取符号左边数除以右边数的余数,注意:是整除后的余数*幂。符号左边为底数,右边为指数进行幂运算/取整。取符号左边数除以右边数的整数部分第二章 数据类型of31152.2.4 数字运算符2.2 数据类型申明及基本运算运算符运算的结果可能会改变数字类型,3种数字类型之间存在一种逐渐扩展的关系,具体如下:整数浮点数复数例如:5+3.0/35/3 4.52+(3.15+2.36j)第二章 数据类型of31162.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算 1内置的数字运算函数Python提供了一些内置
10、函数来完成特定的操作,与数字类型相关的内置函数见表2-2所示。表2-2 内置的数字运算函数函数描述abs(x)绝对值函数。返回x的绝对值divmod(x,y)商余函数。返回元组类型数据(x/y,x%y)pow(x,y,z)幂次方函数。如果省略第三参数,则返回x*y,否则,返回(x*y)%zround(x,n)四舍五入函数。对x进行四舍五入,保留n为小数max(x1,x2,.,xn)最大值函数。返回给定参数中值最大者min(x1,x2,.,xn)最小值函数。返回给定参数中值最小者第二章 数据类型of31172.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算math库是Pyt
11、hon内置的标准库,导入math库的3种方法:(1)import math采用这种形式导入math库后,对math库中函数的调用方式为:math.()。import math math.ceil(3.15)2math库第二章 数据类型of31182.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算(2)import math as math库中函数的调用方式为:math.()。import math as mtmt.floor(3.15)(3)from math import*math库中函数的调用方式为:()。from math import*floor(3.15)在ma
12、th库中有很多写好的函数或者称之为方法,可以用它来执行一些常见操作。第二章 数据类型of31192.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算math库包括数学常数(表2-3)、数值函数(表2-4)、幂对数函数(表2-5)等,更多内容请查阅相关文献。函数描述math.pi圆周率。值为3.141592653589793math.e自然对数。值为2.718281828459045math.inf正无穷大,负无穷大为-math.infmath.nan非浮点数标记,NaN(Not a Number)表2-3 math库的数学常数第二章 数据类型of31202.2.5 数字类型
13、的常用函数及math库2.2 数据类型申明及基本运算函数描述math.fab(x)绝对值函数。返回x的绝对值math.fmod(x,y)模函数。返回x与y的模,即余数math.ceil(x)向上取整函数。返回不小于x的最小整数math.floor(x)向下取整函数。返回不大于x的最大整数math.trunc(x)取整函数。返回x的整数部分math.gcd(x,y)最大公约数函数。返回x与y的最大公约数表2-4 math库的数值函数第二章 数据类型of31212.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算表2-5 math库的幂对函数函数描述math.pow(x,y)返
14、回x 的y次幂math.exp(x)返回e的x次幂,e是自然对数math.expml(x)返回e的x次幂减1math.log(x,base)非浮点数标记,NaN(Not a Number)math.log1p(x)返回x的对数,只输入x时,返回自然对数,即lnxmath.log2(x)返回1+x的自然对数math.log10(x)返回x的2对数值math.log(x,base)返回x的10对数值第二章 数据类型of31222.2.5 数字类型的常用函数及math库2.2 数据类型申明及基本运算函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整
15、数或字符串complex(re,im)生成一个复数,实部为re,虚部为im,re可以使整数、浮点数或字符串,im可以是整数或浮点数,但不能为字符串表2-6 内置的数字转换函数Python中有关数值类型转换的函数见表2-6.第二章 数据类型of31232.2.6 数字类型的常用函数及math库2.2 数据类型申明及基本运算Python是一个强类型的语言,类型很重要,两个不同类型的数据相加的时候,需要转换其中的一个类型,比如将带引号的3变成一个真正的十进制的整型数字,可以写成:5+int(3)转换的工作交给一个内置函数“int”来完成,内置函数就是Python中已经内置好的,不需要额外的引入一些对
16、象或者是模块或者是包就可以使用的函数。Python中有关数值类型转换的函数见下表.函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整数或字符串complex(re,im)生成一个复数,实部为re,虚部为im,re可以使整数、浮点数或字符串,im可以是整数或浮点数,但不能为字符串第二章 数据类型of31242.2.6 数字类型的常用函数及math库2.2 数据类型申明及基本运算5+int(1011,2)#参数2表示前面的数值是一个二进制数之前在申明的时候是通过加一个前缀来区别数的进制,现在转换的时候可以再加一个参数来告诉系统,前面这个字符串的值
17、它是基于二进制的。以此类推,我们也可以转换八进制或者十六进制数。int(177,8)#参数8表示前面的数值是一个八进制数 int(9ff,16)#参数16表示前面的数值是一个十六进制数第二章 数据类型of31252.2.6 数字类型的常用函数及math库2.2 数据类型申明及基本运算有关complex()函数的实例:complex(3.14)complex(3.14,5.2)a=3.14 b=5.12 complex(a,b)第二章 数据类型of31262.2.7 浮点型精度处理2.2 数据类型申明及基本运算下面是一个有关浮点型数字计算的简单表达式。0.1+0.1+0.1-0.3尽管结果非常接
18、近于0,但它不是0。这在精度要求非常高的金融或者财务领域是不能容忍的,因为一点点误差都不能有。造成这个问题的的本质原因在于,计算机内部的二进制存储机制本身就没办法存储某些特定的数值,但是在精度要求非常高的科学计算或者是金融财务领域,又不允许出现丝毫的误差,那该如何解决这个问题呢?第二章 数据类型of31272.2.7 浮点型精度处理2.2 数据类型申明及基本运算Python提供了一个专门的模块“decimal”来解决有关浮点数的精度问题。通过“decimal”模块下的类“Decimal”(注意第一个字母大写),提供了一种精度更高的处理浮点型数字的机制。import decimal#导入模块de
19、cimaldecimal.Decimal(0.1)+decimal.Decimal(0.1)+decimal.Decimal(0.1)-decimal.Decimal(0.3)#调用decimal模块的类Decimal来处理浮点型数字注意:这里是将字符串0.1作为参数传递给decimal 模块的“Decimal类的构造函数,实际使用时经常会犯错,漏掉了0.1两边的引号。第二章 数据类型of31282.2.7 浮点型精度处理2.2 数据类型申明及基本运算 import decimal x=decimal.Decimal(0.1)+decimal.Decimal(0.1)+decimal.Deci
20、mal(0.1)-decimal.Decimal(0.3)type(x)print(x)z=str(x)type(z)print(z)第二章 数据类型of31292.2.7 浮点型精度处理2.2 数据类型申明及基本运算“import decimal”导入模块的方式,在使用“decimal”模块的每一个类时都要带上前缀“decimal.”,这种方式有点繁琐,可以如下方式来导入,从而可以有一种简化的表示方式:from decimal import Decimal x=Decimal(0.1)+Decimal(0.3)print(x)其中from decimal import decimal表示从“
21、decimal”模块导入“Decimal”这个类。其语法为:from 模块名 import 模块里的类第二章 数据类型of31302.2.7 浮点型精度处理2.2 数据类型申明及基本运算注意:浮点型的存储是有缺陷的,所以在精度要求更高的场合,可以使用“decimal”模块的“Decimal”类来实现。但要注意:使用“decimal”模块的“Decimal”类传参数时一定是以字符串的形式进行传参。否则,如果直接传一个浮点型,它不会报错,但得不到我们想要的结果。Decimal(0.1)+Decimal(0.3)Decimal(0.1)+Decimal(0.1)+Decimal(0.1)-Decim
22、al(0.3)2.2数据类型申明及基本运算2.3列表2.4元组2.7字典习题2.6哈希运算of56312.8字符串第二章数据类型2.5range2.1核心内置数据类型概述2.3 列表第二章 数据类型of31322.3.1 列表基本特征序列描述了数据类型的一种形态,具体的数据类型有很多,包括列表、元组、字符串,这些都属于序列类型。从它的特性上来讲可以分为两类,一类是可变序列,一类是不可变序列。可变序列:指的是序列中的某个元素支持在原位置被改变。不可变序列:是不允许在原位值改变某个元素或者对象的值。列表可以说是Python语言中使用频率最高的一个有序序列(这里的有序指的是先后顺序而不是大小顺序!)
23、。第二章 数据类型of31332.3.1 列表基本特征2.3 列表1.列表的定义列表(list):是可以包含任意对象的有序集合(可以包含类型统一的整数,也可以包含不同类型的如串、元组、字典、自己定义的类的实例等等,并且它是有序的,顺序是可以自定义的)。2.列表的申明列表用一对中括号来申明,中括号里写上多个元素,中间以逗号隔开,逗号是默认的分隔符,这些元素可以是任意类型的数据。第二章 数据类型of31342.3.1 列表基本特征2.3 列表score=80#定义一个变量来表示一个学生一门课程的成绩scores=80,90,88,90.3#定义一个列表来表示一个学生多门课程的成绩type(scor
24、es)#列表的类型是“list”print(scores)第二章 数据类型of31352.3.1 列表基本特征2.3 列表3.列表(list)的特性列表具有以下特性:(1)可以包含任意对象的有序集合。如:x=89,90.3,tom(2)可以通过下标索引来访问list中的某个元素。下标索引从左边开始总是从0开始,也可以从右边开始,那就是从-1开始。图2-1 序列类型的索引体系第二章 数据类型of31362.3.1 列表基本特征2.3 列表(3)可变长度,异质,任意嵌套(可任意增减、可包含任意类型的元素,可任意嵌套指的是列表的元素又可以是一个列表)。(4)支持原位改变。x=188,90.3,Tom
25、,56,89,89print(x)x0=77xx3#元素x3是一个列表 x30第二章 数据类型of31372.3.1 列表基本特征2.3 列表4.列表转换函数list()通过列表转换函数list()可以将某个特定的可迭代序列转换为列表。ls=list(range(1,6)#将序列转换为列表ls lt=list(python)lt第二章 数据类型of31382.3.2 序列通用操作2.3 列表1.列表的初始化列表用中括号将若干元素括起来,中间用逗号分隔。ls=1,2,32.序列的通用操作以list为例序列的通用操作包括判断元素是否在序列之内、序列连接、重复序列元素等。第二章 数据类型of3139
展开阅读全文