第四章 常用内置数据类型
Python语言中一切皆为对象,每个对象属于某个数据类型,包括内置的数据类型、模块中定义的数据类型和用户自定义的类型。
内置数据类型
1.数值数据类型:int、bool、float、complex(复数类型) complex(real[, imag])
2.序列数据类型
- 不可变序列数据:字符串str、元组类型tuple(表示任意类型数据的序列,如(1,2,“3”))、字节类型bytes
- 可变数据类型:列表类型list(表示可以修改的任意类型数据的序列的序列,如[1,“two”])、字节数组bytearray
3.集合数据类型:集set、不可变集frozenset
4.字典数据类型:dict

字符串的格式化:(居中对齐及左对齐方法见P70例4.18)
- 字符串.format(值1, 值2, …)
- str.format(格式字符串1, 值1, 值2, …)
- format(值, 格式字符串)
例如:
"学生人数{0},平均成绩{1}".format(15 , 81.2)
#'学生人数15,平均成绩81.2'
str.format("学生人数{0},平均成绩{1:2.2f}",15, 81.2)
#'学生人数15,平均成绩81.20'
"学生人数%4d,平均成绩%2.1f" % (15, 81)
#'学生人数15,平均成绩81.0'
隐式转换:
comlpex > float > int
显式转换(强制转换):用target-type(value)将表达式强制转换为所需要的数据类型
int(x)、float(x)、bool(x)、str(x)
内置数学运算函数
abs() #返回绝对值
divmoid(a,b) #返回a除以b的商和余数
pow(x,y[, z]) #返回x的y次幂。如果指定z,则为pow(x,y) % z
round(number[, ndifits]) #四舍五入取整,如果指定ndigits,则保留ndigits位小数
sum(iterable[, start])
round(3.14159,4) #输出: 3.1416
sum((1,2,3),44) #输出:50
集合(无序的可变序列,集合是没有value的字典)
s={‘Python,‘hello’,90’}
集合的创建方式
s1={2,2,3,3,3,4,5,6}
print(s1)
#输出:{2,3,4,5,6}
s2=set(range(6))
print(s2)
#输出:{0,1,2,3,4,5}
s3=set([2,2,3,3,3,4,5,6])
print(s3)
#输出:{2,3,4,5,6}
s4=set((2,2,3,3,3,4,5,6))
print(s4)
#输出:{6,2,3,4,5}
s5=set('python')
print(s5)
#输出:{'t','p','y','h','o','n'}
s6=set({2,2,3,3,3,4,5,6})
print(s3)
#输出:{5,2,3,4,6}
s7={}
print(type(s7))
#输出:<class'dict'>
#定义空集合的方法
s8=set()
print(type(s7))
#输出:<class'set'>
集合的操作
#集合元素的判断操作
s={10,20,30,40,50}
print(20 in s)
print(33 not in s)
#集合元素的新增操作
s.add(34) #一次添加一个元素
print(s) #{10,20,34,30,40,50}
s.update({233,400,300}) #至少添加一个元素
print(s) #{10,20,233,30,40,400,300,50}
s.update((233,400,300)) #添加一个元组也可以
print(s) #{10,20,233,30,40,400,300,50}
#集合元素的删除操作
remove() #一次删除一个指定元素,不存在则抛出KeyError
discard() #一次删除一个指定元素,不存在不抛出KeyError
pop() #一次删除一个任意元素
clear() #清空集合
集合间的关系
1.两集合是否相等:只要元素相同,用==和!=
s1={1,2,3,4}
s2={1,2,3}
s2={1,2,3}
print(s2==s3)) #True,两集合相等
2.一个集合是否是另一个集合的子集,用issubset()
print(s2.issubset(s1)) #True,s2是s1的子集
3.一个集合是否是另一个集合的超集,用issuperset
print(s1.issuperset(s2)) #True
4.两个集合是否有交集
print(s2.isdisjoint(s1)) #True
集合的数学操作
1.交集:isintersection 或 &
2.并集:union 或 |
3.差集:difference 或 -
4.对称差集:symmetric_difference (两集合的并集减去交集)
集合的生成式
s= {i for i in range(6)}
print(s)
4147

被折叠的 条评论
为什么被折叠?



