Python数据类型
一、 数字
#双星号(**)表示幂
>>> 2**10
1024
#1.计算2的10次幂为1024
#2.str将1024转换成字符串,来计算位数
>>>len(str(2**10))
4
Python有一些常用的数学模块,这些模块需要导入额外的工具包来使用
>>>import math
>>>math.pi
3.141592653589793
#计算平方根
>>>math.sqrt(2)
1.4142135623730951
>>>import random
#获取0~1之间的随机数
>>>random.random()
0.8225575181830562
#作为随机选择器,从列表中随机选择对象
>>>random.choice([1,2,3,4])
2
二、 字符串
1.序列操作
可以通过len函数获取长度,并且通过索引得到各个元素
>>> S = 'Hello'
>>> len(S)
5
>>>S[0]
'H'
>>>S[1]
'e'
#反向索引,从右往左计算
>>>S[-1]
'o'
2.切片 S[X:Y:Z]
把字符串S从X到Y(不包含Y)截取出来,Z默认为0,从左往右截取,-1表示从右往左截取
>>> S[1:-2]
'el'
>>> S[-2:-6:-1]
'lleH'
3.不可变性
不能通过对某一位置进行赋值改变字符串
>>> S[0] = 'Z'
TypeError: 'str' object does not support item assignment
三、 列表
列表是一个任意类型的对象的位置相关的有序集合
1.序列操作
同字符串一样,可以对列表进行len()求长度,索引,切片操作
2.特定操作
列表没有固定的大小,但是超出列表范围的索引会报错
但是可以通过append,pop方法来增减列表
>>> L=[123,'hello',1.23]
>>>> L[3]="world"
IndexError: list assignment index out of range
>>> L.append("world") #在末尾添加元素
>>> L
[123, 'hello', 1.23, 'world']
>>> L.pop(1) #获取对应index的元素,并从列表中删除
'hello'
>>> L
[123, 1.23, 'world']
>>> L.insert(1,'hq') #在对应的index插入元素
>>> L
[123, 'hq', 1.23, 'world']
>>> L.remove(123) #删除队列中的首个某一元素
>>> L
['hq', 1.23, 'world']
四、 字典
通过键值对来存储
>>> D={"name":"Bob", 'age':26, 'job':'dev'}
>>> D
{'name': 'Bob', 'age': 26, 'job': 'dev'}
>>> D['name']
'Bob'
>>> D['age']
26
>>> D['job']
'dev'
判断key是否存在字典中
>>> D=dict(a=1,b=2,c=3)
>>> D
{'a': 1, 'b': 2, 'c': 3}
>>> 'f' in D #判断f这个key是否存在D中
False
>>> D.get('a') #获取a这个key对应的value
1
>>> D.get('f') #由于f这个key不存在value,没有返回值
>>> D.get('f',0) #获取f这个key对应的value,如果不存在,默认为0
0
key的排序:for循环
>>> D={'a':1,'c':3,'b':2}
>>> D
{'a': 1, 'c': 3, 'b': 2}
>>> Ks=list(D.keys())
>>> Ks
['a', 'c', 'b']
>>> Ks.sort()
>>> Ks
['a', 'b', 'c']
>>> for key in Ks:
... print(key,'=>',D[key])
...
a => 1
b => 2
c => 3
#sorted内置函数可以一步完成
>>> D
{'a': 1, 'c': 3, 'b': 2}
>>> for key in sorted(D):
... print(key,'=>',D[key])
...
a => 1
b => 2
c => 3
五、元组
类似于列表,但是具有不可变性
只含一个元素的元组,需要一个逗号作为结尾
>>> T=(1,2,3,4)
>>> T[1]
2
>>> len(T)
4
>>> T[0]=2
TypeError: 'tuple' object does not support item assignment
>>> T=(2,)+(2,3,4)
>>> T
(2, 2, 3, 4)
六、 文件
>>> f=open("D:/test.txt",'w')
>>> f.write("hello")
5
>>> f.write(" world\n")
7
>>> f.write("123")
3
>>> f.close()
>>> for line in open("D:/test.txt"):
... print(line)
...
hello world
123