@@ -29,13 +29,17 @@ print(a, b, c, d)
2929
3030## 标准数据类型
3131
32- Python有五个标准的数据类型
32+ Python有六个标准的数据类型
3333
3434- ` Numbers ` (数字)
3535- ` String ` (字符串)
3636- ` List ` (列表):可变数组
3737- ` Tuple ` (元组):不可变数组
3838- ` Dictionary ` (字典):Map
39+ - ` Set ` (集合)
40+
41+ > 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
42+ > 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
3943
4044## Python数字
4145
@@ -64,6 +68,52 @@ del var_a, var_b
64683 . float(浮点型)
65694 . complex(复数)
6670
71+ > 注意:在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long
72+
73+ 内置的 ` type() ` 函数可以用来查询变量所指的对象类型
74+
75+
76+ ``` py
77+ a, b, c, d = 20 , 5.5 , True , 4 + 3j
78+
79+ print (type (a), type (b), type (c), type (d))
80+
81+ # 输出结果
82+
83+ < class ' int' > < class ' float' > < class ' bool' > < class ' complex' >
84+ ```
85+
86+ 此外还可以用 ` isinstance ` 来判断
87+
88+ ``` py
89+ a = 111
90+ isinstance (a, int )
91+
92+ # 输出结果
93+
94+ True
95+ ```
96+
97+ ` isinstance ` 和 ` type ` 的区别在于:
98+
99+ - type()不会认为子类是一种父类类型
100+ - isinstance()会认为子类是一种父类类型
101+
102+ ``` py
103+ class A :
104+ pass
105+
106+ class B (A ):
107+ pass
108+
109+ isinstance (A(), A) # returns True
110+ type (A()) == A # returns True
111+ isinstance (B(), A) # returns True
112+ type (B()) == A # returns False
113+ ```
114+
115+ > 注意:在 ` Python2 ` 中是` 没有布尔型的 ` ,它用数字 ` 0 ` 表示 False,用 ` 1 ` 表示 True。到 ` Python3 中 ` ,把 ` True ` 和 ` False ` 定义成关键字了,但它们的值还是 ` 1 ` 和 ` 0 ` ,它们 ` 可以和数字相加 `
116+
67117## Python字符串
68118
69119> 字符串或串(String)是由数字、字母、下划线组成的一串字符。
@@ -208,6 +258,51 @@ print(tinydict.keys()) # 输出所有键
208258print (tinydict.values()) # 输出所有值
209259```
210260
261+ ## Set(集合)
262+
263+ > 集合(set)是一个` 无序不重复元素 ` 的序列,可以使用大括号 ` { } ` 或者 ` set() ` 函数创建集合
264+
265+ > 注意:创建一个` 空集合 ` 必须用 ` set() ` 而不是 ` { } ` ,因为 ` { } ` 是用来创建一个` 空字典 `
266+
267+ 基本语法
268+
269+ ``` py
270+ parame = {value01,value02,... }
271+
272+ # 或者
273+
274+ set (value)
275+ ```
276+
277+ 示例:
278+
279+ ``` py
280+ student = {' Tom' , ' Jim' , ' Mary' , ' Tom' , ' Jack' , ' Rose' }
281+
282+ print (student) # 输出集合,重复的元素被自动去掉
283+
284+ # 成员测试
285+ if ' Rose' in student:
286+ print (' Rose 在集合中' )
287+ else :
288+ print (' Rose 不在集合中' )
289+
290+
291+ # set可以进行集合运算
292+ a = set (' abracadabra' )
293+ b = set (' alacazam' )
294+
295+ print (a)
296+
297+ print (a - b) # a和b的差集
298+
299+ print (a | b) # a和b的并集
300+
301+ print (a & b) # a和b的交集
302+
303+ print (a ^ b) # a和b中不同时存在的元素
304+ ```
305+
211306## Python数据类型转换
212307
213308> 数据类型的转换,你只需要将数据类型作为函数名即可
@@ -234,4 +329,5 @@ print(tinydict.values()) # 输出所有值
234329
235330## 参考
236331
237- - [ 菜鸟 - Python 变量类型] ( http://www.runoob.com/python/python-variable-types.html )
332+ - [ 菜鸟 - Python2 变量类型] ( http://www.runoob.com/python/python-variable-types.html )
333+ - [ 菜鸟 - Python3 数据类型] ( http://www.runoob.com/python3/python3-data-type.html )
0 commit comments