python第一模块数据类型
一·进制之间的转换
十进制转换为二进制:逆序取余法。
二进制转换为十进制:如1101 1*2^0 + 0*2^1 + 1*2^2 +1
十六进制转换为二进制:231 0010 0011 0001
二进制转换成十六进制:从右往左,四个一位
八进制转换为二进制: 23 010 011
二进制转换为八进制: 从右往左,三个一位
bit是计算机中最小的表示单位,0或1所占的空间单位为一个bit。
1个字节是八个bit 1bytes = 8bit bytes缩写为B
二·字符编码
Unicode编码:国际标准字符集。
UTF-8:对Unicode进行压缩和优化。
windows系统中文版默认GBK。
Mac和Linux默认UTF-8.
python3 默认编码是UTF-8
三·浮点数
有理数:有理数是整数和分数的集合。有理数的小数部分是有线或者无线循环小数。
无理数:又称为无限不循环小数。常见的无理数有圆周率,非完全平方数的平方根。
实数:有理数和无理数的总称。
复数:a + bi形式。计算机一般不用i,用j。
科学计数法:把一个数表示成10的n次幂形式。
四·python精度问题
计算高精确度浮点数的方法。
decimal 是一个内置模块,context和Decimal都是decimal里面的方法,getcontext().prec = 50 设置精度为50.
五·列表的功能
1.创建
a =【】,a =list()定义空列表
2.查询
L = 【‘a’,‘b’,‘’c】, L【2】#通过索引取值。
L·index(‘’b‘’) #从左往右查找第一个b所在的位置。
L·count(‘b’) #统计指定元素的个数。
3.切片
L = ['a','b','c'] L[0:2] # 第一和第二个值,顾头不顾尾。
4.增加
append() # 插入到列表最后一个位置
insert() # insert(3,‘’f),在列表索引为3的位置插入一个f,原来3位置上的元素以此向后退。
5.修改
6.删除
pop() #删除最后一个元素。
remove() #删除从左到右找到的第一个元素,例如L·remove(‘a’)
del L[:] #删除指定的元素。
7.循环
for ...in....
8.排序
sort() #正向排序
如果里边里都是int 或者str 会自动比较大小进行排序。
reserve()#反向排序
对列表里的元素进行反向排序,不会比较大小。
>>> a.sort() >>> a ['a', 'e', 'm', 't', 'y'] >>> b = ["e","r","a","c","b"] >>> b.sort() >>> b ['a', 'b', 'c', 'e', 'r'] >>> c = [1,3,6,4,5,2] >>> c.sort() >>> c [1, 2, 3, 4, 5, 6] >>> b = ["e","r","a","c","b"] >>> b.reverse() >>> b ['b', 'c', 'a', 'r', 'e'] >>> d = [1,2,3,7,5,4,2] >>> d.reverse() >>> d [2, 4, 5, 7, 3, 2, 1]
扩展列表
L.extend(L2)
把L2列表里的值放到L里面。
>>> a = [1,2,3,4,5] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 'b', 'c', 'a', 'r', 'e'] >>> b ['b', 'c', 'a', 'r', 'e']
嵌套列表取值
L[1][2]
>>> list = [1,2,3,[1,2,3,4,5],5,67,8] >>> list[3][2] 3
L.clear()#清空列表
>>> list.clear() >>> list []
六·元组
元组和列表一样,只是元组创建以后不能进行修改。用括号,而不是方括号。
所以元组又叫只读列表。
元组本身不可变,元组中的其他列表可以改变。
>>> b = (1,2,3,[1,2,3]) >>> b[3][1] = 5 >>> b (1, 2, 3, [1, 5, 3])
hash(),一般叫散列。把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
被hash的值必须固定,这就要求被hash的值是不可变的。
数字,字符串,元组是不可变的,可以被hash。
七.字典
key-value的数据类型,键值对。
key必须可hash,必须为不可变数据类型,必须唯一。
特性:无序,查找方便。
字典用花括号{ }。
查找字典里的值:字典名·get(key),没有的key不会报错,只会返回None。
字典名(key) 没有的值会产生报错。
查找所有key:字典名·keys()
查找所有values:字典名·values()
dict.setdefault(key,[default])
如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典 中插入这个键,并且以default为这个键的值,并返回 default。default的默认值为None
dict.setdefault( )
dict.update()
作用:把括号里的字典更新到dict里面。
和列表的extend类似,只是字典key唯一。
>>> a {1: 2, 2: 3, 3: 4} >>> b = {2:4,5:6,7:8} >>> a.update(b) >>> a {1: 2, 2: 4, 3: 4, 5: 6, 7: 8}
dict.items()
将字典转化为列表
>>> a = [(1,2),(2,3),(3,4),(4,5),(5,6)] >>> a[1] (2, 3) >>> for k,v in a: print(k,v) 1 2 2 3 3 4 4 5 5 6 >>> for k in a: print(k) (1, 2) (2, 3) (3, 4) (4, 5) (5, 6)
循环
八.集合
集合元素特性:1· 确定性(元素必须可以hash)
2.互异性(去重)
3.无序性(集合中的元素没有先后之分,如{2,3,4,5}和{2,4,3,5},是一个集合)
交集(intersection)
a.intersection(b) 或者 a&b。
差集
a.difference(b) 或者a - b.
并集
a.union(b)或者 a | b
对称差集
a.symmetric_difference(b) 或者 a^b (a和b差集对称)
包含关系
oct()八进制
hex()16进制