前言
上一篇提到了Python 3 的六个标准数据类型,考虑到如果全部放在一篇博客里详细展开的话,内容会很多,而且往后也会逐个深入学习和详细介绍这六个标准数据类型,因此本篇只进行一些简单的介绍。
1 数字(number)
- Python 3支持的数字类型:int(整型)、float(浮点型)、bool(布尔型)、complex(复数型,类似a+bj)
- 注意:
(1)Python 3只有一种整型类型,即int。
(2)内置的type()函数可以用来辨别变量指向的对象类型
>>> a,b,c,d=66,6.6,False,6+6j
>>> print(type(a),type(b),type(c),type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
(3)isinstance()函数与type()函数有类似的功能
>>> isinstance(num,int)
True
两者的区别:type()不会认为子类是一种父类类型,而isinstance()会认为子类是一种父类类型
>> class A:
pass
>>> class B(A):
pass
>>> isinstance(A(),A)
True
>>> type(A())==A
True
>>> isinstance(B(),A)
True
>>> type(B())==A
False
(4)在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
>>> 1+True
2
>>> 1+False
1
2 字符串(string)
- Python中的字符串用单引号 ’ 或双引号 " 括起来,同时可以使用反斜杠 \ 转义特殊字符。
- 转义字符:一种特殊的字符常量,以反斜杠 \ 开头,后跟一个或几个字符。如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。
>>> print("\number")
umber
>>> print(r"\number")
\number
- 常见的转义字符:
\t 表示制表符
\n 表示换行符
\ 表示反斜杠
\’ 表示 ’
\ ‘’ 表示 ‘’ - 加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。
>>> str="I love China."
>>> print(str+"And you?")
I love China.And you?
>>> print(str*2)
I love China.I love China.
- 长字符串
长字符串又叫做文档字符串,我们使用三重引号来表示一个长字符串’’’ ‘’’
3 列表(list)
- 列表是Python中使用最频繁的数据类型
- 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
- 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
- 加号 + 是列表连接运算符,星号 * 是重复操作。
>>> list_one=['abc',6.6,66]
>>> list_two=[666,'hello']
>>> print(list_one+list_two)
['abc', 6.6, 66, 666, 'hello']
>>> print(list_one*2)
['abc', 6.6, 66, 'abc', 6.6, 66]
4 元组(tuple)
- 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
- tuple的元素虽然不能改变,但它可以包含可变的对象,比如list列表。
- 造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tuple_one=() # 空元组
tuple_two=() # 一个元素,需要在元素后添加逗号
- string、list 和 tuple 都属于 sequence(序列)。
5 集合(set)
- 集合是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员(不重复)。
- 集合的基本功能是进行成员关系测试和删除重复元素。
- 可以使用大括号 { } 或者 set() 函数创建集合。
- 注意:(1)创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。(2)如果集合存在重复的元素,print()函数输出集合时会自动去重。
>>> set_one={'aa','bb','cc','aa'}
>>> print(set_one)
{'bb', 'cc', 'aa'}
6 字典(dictionary)
- 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
- 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
- 键(key)必须使用不可变类型。
- 在同一个字典中,键(key)必须是唯一的。
- 构造函数 dict() 可以直接从键值对序列中构建字典:
>>> dict(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
>>> dict([('a',1),('b',2),('c',3)])
{'a': 1, 'b': 2, 'c': 3}