Python基本数据类型
一、数字 Numbers
python支持四种不同的数字类型:int、long、float、complex
1、int
Python可处理任意大小的整数,包括负整数,可以用十六进制表示整数,十六进制用0x前缀和0-9,a-f表示,例如:0xff00
2、long
Python用L显示长整型
3、浮点数
浮点数也就是小数,可以用数学写法1.23、3.14、-9.9,,还可以用科学计数法表示,把10用e替代,1.23x10^9写成1.23e9或者12.3e8,0.000012写成1.2e-5
4、复数
用a+bj或者complex(a,b)表示复数
5、Python Number类型转换
int(x [,base]) 将x转换为一个整数
long(x [,base]) 将x转换为一个长整数
float(x) 将x转换为一个浮点数
str(x) 将对象x转换成字符串
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
6、Python math模块、cmath模块
Python中常用的数学函数基本都在math模块、cmath模块中,math模块,math模块运算的是数学,cmath模块运算的是复数,使用前先用import导入
Python中常用的数学函数有
abs(x) 返回数字的绝对值
fabs(x) 返回数字的浮点绝对值
ceil(x) 返回数字的向上取整的整数
floor(x) 返回数字的向下取整的整数
round(x,[,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点的位数
cmp(x,y) 比较两数大小,如果x<y返回-1,如果x==y返回0,如果x>y返回1
exp(x) 返回e的x次幂
max(x1,x2,...) 返回最大值
min(x1,x2,...) 返回最小值
pow(x,y) 返回x的y幂次值,即x**y运算后的值
sqrt(x) 返回数字x的平方根
7、Python的随机函数
三、字符串
字符串是以''或""括起来的任意文本,由字母、数字、下划线组成,比如'abc',"xyz"
四、布尔值
布尔值只有True、False,可以直接表示,也可以通过布尔运算计算出来
布尔值可以用and、or和not运算
and运算:只有所有都为True,and运算才是True
or运算:其中一个为True,or运算就为True
not运算:True变成False,False变成True
五、空值
Python里一个特殊的值,None
六、变量
在Python中,变量名必须是大小写英文、数字和下划线的组合,不能以数字开头
Python是动态语言,同一个变量可以反复赋值,可以是不同类型的变量
七、列表:list
list是一种有序的集合,可以随时添加和删除其中的元素,list中包含的元素不必是同一种数据类型
student=['Michale','Bob','Tracy']
L=['A',123,True]
empty_list=[]
list访问元素
按照索引访问list,索引从0开始,例如 print student[0],结果Michale
倒序访问,索引从-1开始,例如 print student[-1],结果Tracy
截取字符[index1:index2],不包括索引index2的元素,例如 list=[1,2,3,4,5] print list[1:3],结果[2,3]
按步长截取字符[index1:index2:step],例如 list=['a','b','c','d','e','f','g'] print list[1:4:2],结果结果['b','d']
list添加删除新元素:
student.append('Sam'),append()把新元素添加到list的尾部 --student=['Michale','Bob','Tracy','Sam']
student.insert(0,'Paul'),insert(index,temp)把新元素添加到对应位置,后面元素自动后移 --student=['Paul','Michale','Bob','Tracy','Sam']
student.pop(),pop()把最后一个元素删除 --student=['Paul','Michale','Bob','Tracy'],
student.pop(2)把对应位置的元素删掉
del student[1],del删除元素
list方法:
len(list):列表元素个数
max(list):列表最大元素
min(list):列表最小元素
八、元组:tuple
元组使用小括号,与列表类似,但是元组的元素不能修改
t=('physics',2000,'a')
空元组t=()
只有一个元素的元组t=(1,)
tuple访问元素:
按照索引访问,索引从0开始,例如t[0]
使用中括号截图元素[index1:index2],不包括索引index2的元素,例如t2=(1,2,3,4,5,6) print t2[1:5] 结果为(2,3,4,5)
tuple方法:
cmp(tuple1,tuple2):比较两个元组的元素
len(tuple):元组中元素个数
max(tuple):元组中最大元素
min(min):元组中最小元素
tuple(sep):将列表转换成元组
九、字典:Dictionary
字典是一种可变容器模型,可存储任意类型对象,字典中每个键值用冒号分割,每个键值对之间用逗号隔开,整个字典包含在大括号中
dict={'name':'Sam','age':8,'class':'First'}
访问元素:
用键值访问,例如dict['name'],dict['age']
更新字典:
添加新的键值对,例如dict['score']=100
更新键值对,例如dict['age']=9
删除键值对,例如del dict['score']
清空字典,例如dict.clear()
删除字典,del dict
字典特性:
1、同一个键被重复赋值,只会记住最新的赋值
2、键不可变
字典的内置方法:
cmp(dict1,dict2):比较两个字典大小
len(dict):计算字典个数
字典的内置函数:
dict.has_key(key):判断键是否在字典里,存在返回true
dict.keys():以列表返回所有键
dict.values():以返回所有的值
dict.get(key):获取键对应的值,key不存在时,返回None
十、集合:set
set是一系列无重复元素、无序的集合。创建set的方式是调用set()并传入一个list,list的元素作为set的元素
s=set(['A','B','C'])
set不能包含重复的元素,传入包含重复元素的list时,会自动去掉重复元素
访问元素:
set元素无序,不能通过索引访问,需要先判断元素是否存在,可用in操作符判断
遍历set:
通过for循环
更新set:
添加元素用set的add()方法,例如s.add('C')
删除元素用set的remove()方法,例如s.remove('A'),删除前需要判断元素是否存在,不存在删除会报错
练习:针对如下set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去
s=set(['Adam','Lisa','Paul'])
L=['Adam','Lisa','Bart','Paul']
实现如下:
s=set(['Adam','Lisa','Paul'])
L=['Adam','Lisa','Bart','Paul']
for name in L:
if name in s:
s.remove(name)
print s
结果:set([])