听说你了解数据类型?

    学过C++、C或者Java的程序员都知道,存储在内存中的数据是有类型的,C中用int表示整型,float表示浮点型,char表示字符型等等,并且变量在声明的时候就要指定类型,比如 int a = 10;表示将整数10赋给整型变量a,诸如此类。然鹅,下面这一段python代码你不会觉得有语法错误吧。

>>> a = 10

>>> b = 1.2

>>> c = ‘A’


《听说你了解数据类型?》

    但是在交互环境中似乎并没有报错呀,怪了,难道python中变量没有类型么。客官莫急,下面就让我们一起来探索一下python数据类型的奥秘吧。

    其实,python变量也是有类型的,只不过在变量声明的时候不需要显式指定罢了,下面一段脚本证明一下:

《听说你了解数据类型?》

大家或许会注意到,这里的c = ‘A’明明是char嘛,为啥是str呢,其实python中的字符串既可以用单引号”也可以用双引号””,比如下面这两个变量是等价的。

>>> d = “A”

>>> d is c

True

>>> id(d) == id(c)

True

    在python中,无论是整型、浮点型还是复数,都是数字(number)类型。

关于字符串,后面还会深入讲解,并且python中的字符串类型非常灵活,同时也会由于编码类型导致乱码,当然这是后话了。

下面来看看比较特殊的数据类型,即列表、元组、集合字典

>>> la = [‘a’,’b’,’abc’,1,2,3.12]  #这就是一个列表

>>> lb = [‘ss’,la] #这也是一个列表

>>> lc = []  #这依然是个列表

或许你注意到了,可以理解为列表可以包含任意数据类型,至少目前所知的是这样。python中列表的使用频率是非常高的,就是因为列表灵活并且有许多函数可用。

下面来看看元组:

>>> ta = (‘a’,’dsa’,la)  #这是一个元组

    元组也是十分灵活的一种数据类型,有没有感觉和列表一样,包含那么多数据类型,元组使用圆括号()声明,列表使用中括号[]声明,同时,元组的元素不支持更改,而列表是可以的。

集合和字典长相都一样,使用{}括起来,但是她们却是两种数据类型,相信通过下面的脚本能看出她们的不同吧。

集合使用场景不多,其实不能算是一种数据类型,相当于一种数据结构;大家都知道,集合中是不容孪生兄弟或者姐妹存在的,大意就是集合中的元素都是没有重复的,比如:

>>> ld = [1,2,3,4,4,3,5,5]

>>> sd = set(ld)  #将有重复元素的列表转换成集合

>>> sd

{1, 2, 3, 4, 5}

集合使用set构造,但可以看到表示方法是{}。

字典是python中使用非常频繁的另一数据类型了,经常玩儿API的童鞋应该就不陌生了吧;python的字典有点相当于哈希表,便是key-value对。如:

>>> d1 = {}  #注意了哦,这是空字典,不是集合哟

>>> d2 = {‘name’:’louwenju’,’sex’:’未知’}  #这也是字典

字典跟列表的不同之处在于,字典是根据键即key取值,而列表是根据索引取值。

千万不要被这些复杂的数据类型搞得眼花缭乱了,在后续的练习和实战中慢慢领会吧,还有非常多的内置函数便于操作。

    原文作者:laygin
    原文地址: https://www.jianshu.com/p/d2c41f28faf7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞