《Python3智能数据分析快速入门》—2.3 数据类型
2.3 数据类型
计算机内部的所有数据都可以看作对象,变量在程序中起到指向数据对象的作用,变量赋值其实是把数据对象和变量关联起来的过程。Python中的常用数据量类型有6种:number、str、list、tuple、dict和set。其中,number和str属于基础数据类型,而list、tuple、dict和sets属于复合数据类型。
2.3.1 基础数据类型
1. number
number又称数字,是专门用于储存数值的数据类型,具有不可改变性。数据的不可改变性意味着:每改变一个数据的类型,计算机就分配内存空间以创建新的对象,解释器则基于数据的类型分配指定的内存,决定什么样的数据可以被储存在内存中。要“改变”不可改变的数据类型,只能通过创造新变量的间接方式。number既是复合型数据中的基本元素,也是数学计算的基本元素,计算机的一切数学计算工作都离不开它。
Python支持4种不同的数字数据类型,如表2-9所示。
表2-9 Python数字数据类型
int只有整数部分,即整型数。int仅表示广为使用的十进制整数,如果需要用到二进制数、八进制数和十六进制数,需要分别通过bin函数、oct函数和hex函数进行创建或转换。在Python 2中,用long表示长整型数,其特征是以L为后缀。长整型数和短整型数同属于整数,区别在于:短整型数的范围是[-2417483648,2417483647],长整型数的范围是[-263,263-1]。Python 3不再保留长整型数,以int统一表示整数。
f loat是既有整数部分也有小数部分的数值类型,即浮点型数字。
complex是由实部(real)和虚部(imag)组成的数值类型,即复数。复数的实部和虚部都是浮点数。
bool表示布尔值,只有True(1)和False(0)两种取值。因为bool继承了int类型,所以True可以等价于数值1,False可以等价于数值0,bool值可以直接用于数学运算。
给变量指定一个数值时,number对象就被创建,并在内存中分配储存空间。通过type函数可以判断number对象的类型。number创建和查询类别的方式如代码清单2-19所示。
代码清单2-19 创建number
不同number类型通过函数可以互相转换,使用代表number类型的函数即可。也可以进行混合运算,运算时先自动转换成同一类型,然后再进行运算。转换遵守一定的方向:int向f loat转换,非complex向complex转换,如代码清单2-20所示。
代码清单2-20 number类型转换与混合运算
2. str
str又称为字符串,是存放着Unicode字符序列,用于表示文本的数据类型。str可以由任何字符构成,包括字母、数值、符号或标点符号以及它们的任意组合,如“Hello,word!”“1+1”等。与number相同的是,Python中的str也是不可变的,无法直接修改str中的某一位字符。
创建一个str,除字符外,还要在字符序列的首尾加上引号。使用单引号(')、双引号('')是等效的,但需要保证str两端的引号类型相同。如果要指定一个多行的str,则需要使用三引号(''')。
str支持索引,索引一般按照“变量[下标]”和“变量[头下标:尾下标]”两种格式处理,其中的“变量[下标]”格式能够索引单个数值,“变量[头下标:尾下标]”格式能够进行切片(索引连续一片元素)。索引的具体规则如下:
1)下标为正数时,最小为0,表示第1位。下标最大为总字符数减1,表示最后一位。
2)下标为负数时,下标最小为总字符数的相反数,表示第1位。尾下标最大为-1,表示最后一位。
3)当进行切片时,索引从头下标位置字符开始,到尾下标位置前一位字符终止。
4)在一个索引式中,头下标与尾下标可以异号,但必须保证头下标字符位置在尾下标字符之前。
5)头下标留空,表示索引从第1个字符开始;尾下标留空,表示索引到最后一个字符结束。
除一般的索引格式外,str还支持按步长索引,即指定步长后,每隔固定的步数索引一次字符,其格式为“变量[头下标:尾下标:步长]”。此外,通过“变量[::-1]”这一索引式可以将整个str反向排序。
str索引的基本操作如代码清单2-21所示。
代码清单2-21 str索引
str的索引方式对Python中其他支持索引的数据类型都具有参考价值。
尽管str不可变,但它其实有很好的可操作性。Python为str提供了极为丰富的内置方法,从而能实现多样化的操作。
str中的所有方法中部分是用于查询的,这些方法包括检查str中是否包含某个对象,是否只包含某个对象,某个对象是否在特定的位置,以及包含某个对象的个数。提供查询功能的str方法如表2-10所示。
表2-10 str查询方法
str查询相关的方法操作方式如代码清单2-22所示。
代码清单2-22 str查询方法
str方法除查询外,还有对str进行改写等操作的方法。改写主要有两种形式:对str中的制表符、空格等符号进行增删,且改变str的总长度;针对str中的字母,进行大小写调整或替换。str改写方法如表2-11所示。
表2-11 str改写方法
str改写相关方法进行简单操作,如代码清单2-23所示。
代码清单2-23 str改写方法
除查询与改写外,str方法还提供了一些其他功能,如表2-12所示。
表2-12 str其他方法
str其他方法操作示例如代码清单2-24所示。
代码清单2-24 str其他方法
转义输出是str操作中重要的内容,需要用到转义字符。Python中常用的转义字符如表2-13所示。
表2-13 Python转义字符
除转义输出外,还可以使用+号与*号分别实现str的连接和重复操作。
str的转义及连接、重复等基础操作如代码清单2-25所示。
代码清单2-25 str转义与基础操作
- 点赞
- 收藏
- 关注作者
评论(0)