听说你了解数据类型?

作者: 周且南_laygin | 来源:发表于2017-02-19 23:47 被阅读80次

        学过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取值,而列表是根据索引取值。

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

    相关文章

      网友评论

      本文标题:听说你了解数据类型?

      本文链接:https://www.haomeiwen.com/subject/loxswttx.html