python3有6中标准数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)
不可变数据:Number、String、Tuple
使用 type() 来查看对象类型,使用instanceof(type)查看是否为该类型或其子类
- Number(int、float、bool、complex)
数值运算中//(双除号表示:商向下再取整,其结果的类型不一定是整型,而是依据除数和被除数来判断)
print(10/3);#3.3333333333333335 print(10//3);#3
双称号**表是乘方,既 33 = 3*3*3 = 27。
print(3**3)#27
再python中一个变量可以通过赋值指向不同类型的对象
arg = 12; print(type(arg));#<class 'int'> arg = False; print(type(arg));#<class 'bool'> arg = 12+3j; print(type(arg));#<class 'complex'> arg = [1,2,3]; print(type(arg));#<class 'list'>
混合运算时,整数会转换成浮点
- String(字符串)
字符串的截取,len()用于去字符串长度 -
print(str[0:-1]);#hello worl print(str[0:])#hello world print(str[0:len(str)])#hello world
字符串内容不能通过索引来重新赋值
str = "hello world"; print(str[0]); str[0] = 'a';#TypeError: 'str' object does not support item assignment
- List(列表)
列表可以包含任何类型的成员,包括列表(嵌套)(列表截取可选第三个参数,步长)
li1 = [1,"lyn","甘肃",[100,98,45]]; li2 = [2,"lbb","我的世界",[100,99,60]]; print(type(li1+li2))#<class 'list'> print(li1 * 2);#[1, 'lyn', '甘肃', [100, 98, 45], 1, 'lyn', '甘肃', [100, 98, 45]] print(li1 + li2);#[1, 'lyn', '甘肃', [100, 98, 45], 2, 'lbb', '我的世界', [100, 99, 60]] li1[2] = "地球"; print(li1);#[1, 'lyn', '地球', [100, 98, 45]]
- Tuple(元组)
元组和列表不同,元组的对象不能更换,元祖对象内容可以更改,注意不要给可变元素重新指向新对象
l = [1,2,3]; t = (1,'id',True,l) l[2] = 40000; print(t);#(1, 'id', True, [1, 2, 40000])
上面我们对列表l的第二元素更改,这是可行的。如果给l重新指向新对象,则元祖t之中的l所给的列表的值不会变
l = [1,2,3]; t = (1,'id',True,l) l = [4,5,6] print(t);#(1, 'id', True, [1, 2, 3])
- Set(集合)
集合可以包含不同类型,基本功能是进行成员关系(交并补非)和删除重复成员
s = set();#空集合 注意不要使用空的大括号,{}这表示空字典 s.add("zero"); s.add("first"); s.add("second"); s.add("first"); print(s);#{'zero', 'first', 'second'}
注意空基和用set(),而不是空大括号,空大括号表时空字典
注意输出的结果中,删除了重复的元素s1 = {1,2,3,4,5,6}; s2 = {4,5,6,7,8,9}; print(s1 | s2);#并集:{1, 2, 3, 4, 5, 6, 7, 8, 9} print(s1 & s2);#交集:{4, 5, 6} print(s1 - s2);#差集:{1, 2, 3} 从s1中出去s2中的所有元素 print(s1 ^ s2);#不同时存在的:{1, 2, 3, 7, 8, 9} 并集和交集的差集
- Dictionary(字典)
字典是键值对的集合,列表有序,字典是无序的
注意:键必须唯一,并且类型为不可变类型(数字、字符串、元祖)
提示:可以使用 字典的构造函数使用序列来构建字典
d = dict(( (1,"lyn"), (2,"xm") )); print(d);#{1: 'lyn', 2: 'xm'}