python中变量的类型
了解过python语言的同学都知道,Python 中的变量不需要声明,变量是在我们給它赋值的时候创建的,要使用一个变量必须先对它进行赋值。在 Python 中变量就是变量,它没有类型限制,我们所说的类型是指给变量赋值后,变量所指向的内存中对象的类型。
python中基本的数据类型
python中给我们内置了很多的数据类型,其中常见基本的数据类型有以下几种:
-
数值类型:整数(int)、浮点数(float)、布尔值(bool)
-
序列类型:字符串(str)、元组(tuple)、列表(list)
-
散列类型:集合(set)、字典(dict)----->字典也称映射类型
这些基本的类型中,用来作为容器存放数据的有:元组、列表、字典、集合这四个类型,那么这四个类型中元组和列表属于序列类型,字典和集合属于散列类型,下面就序列和散列做一个简要的描述。
-
序列类型:所谓序列,指定是内部数据是按顺序排列的,通过下标索引来标识位置。
-
散列类型:内部元素存放是没有顺序的,具体的位置跟散列值相关。
关于序列类型中的列表和元组,很多同学在存储数据的时候只用列表,而不会考虑使用元组,因为元组的功能列表都有,而且列表灵活,那么这种习惯真的好吗?接下来我们来分析一下元组和列表的性能,看看列表是否真的有那么好用,元组是不是就真的那么鸡肋?
列表、元组的性能分析
问题一:当前需要通过经纬度来标识某个位置,(''北纬28.19','东经112.98'),那么这个经纬度的数据,应该选择列表还是元组来存储?
-
答案:我的选择是元组,分析:经纬度这一组数据,长度固定只有两个元素,经纬度的数据是唯一确定的,不需要修改,适合用元组存储,获取元组内的数据可以通过下标
-
疑问:列表也可存储,也可以通过下标获取元素,而且列表是可变的相对元组更灵活,为什么不用列表?
-
原因一:列表比元组耗内存,因为列表是可变类型的数据,当我们创建一个列表时,python会给这个列表,分配一块大于实际存储数据量的内存(为后期添加数据做准备),而元组是不可变的,定义之后内部的元素和结构就是固定的,当我们创建一个元组时,python给这个元组分配的内存的大小和元组中储存的数据量是相等的。
-
原因二:元组比列表更快,性能上更占优势,python中初始化一个元组的时间,远远低于列表。请看下图,初始化一个列表的时间 = 初始化一个元组的时间 * 5。
欢迎来到testingpai.com!
注册 关于