入门 four day
python中和数字相关的类型:int(整型),float(浮点型),bool(布尔),complex(复数)
1.int整型:
python中整数支持4种写法:十进制数、二进制数、八进制数、十六进制数
十进制数 :基数是0-9 表示的时候直接写:1,2,3,4,5,6…
二进制数:基数0和1,表示的时候加前缀0b/0B:0b1010、0B1010
八进制数:基数是0~7,表示的时候加前缀0o/0O:0o623,0O623
十六进制:基数是09,af(A~F),表示的时候加0x/0X:0xff,0X456
如果要获取一份其他进制数对应的等值的十进制数是多少,直接用print打印
print(0X456)
#bin(数字) 将其他进制数转换为二进制
print(bin(0o123)) # 0b1010011
print(bin(20)) # 0b1010
#oct(数字) 将其他进制数转换为八进制
print(oct(20)) # 0o24
print(oct(0b1010)) # 0o12
# hex(数字) 将其他进制数转换为十六进制
print(hex(255)) # 0xff
print(hex(0b1010)) # 0xa
2.float浮点型 所有小数对应的类型
支持科学计数法: xey 表示x乘以10的y次方
1.27e3、1.27e-3
计算机在存储浮点数的时候不能存储绝对相等的值
print(1.27e3)
3。bool(布尔类型)
bool 类型的本质就是一种特殊整型,其中True就是1,False就是0
‘’’
print(1 + True) # 2
print(1 + False) # 1
‘’’
4.complex(复数类型)
复数:由实部和虚部组成的数就是复数,数学中虚数单位是i,python中虚数单位是j:A+Bj
注意:如果虚部是1,1不能省
python 中的复数直接支持数学的复数运算
‘’’
# 复数的加法运算,实部加实部,虚部加虚部
num1=5+7j
num2=1+6j
print(num1+num2)
# 复数乘法运算 j*j=-1
print(num1*num2)
[] 列表:容器型数据类型(序列),将[]作为容器的标志,里面多个元素用逗号隔开
[1,2,‘wadwa’,13.5,‘a’]
列表是可变的:容器中元素的个数和值可变
列表是有序的:元素在容器中的有顺序
任何类型的数据都可以作为列表的元素
列表命名规范:英语单词的复数形式,或者在后面_list
lists = [] # 表示空列表
list1 = [1, 2, 3, [4, 5], 0o12345]
list1[3], list1[0] = list1[0], list1[3]
print(list1)
列表元素的增删改查
查:获取单个元素
语法:列表[下标] - 获取指定下标对应的元素
下标:又叫索引,是元素在列表中位置信息对应的标号,每个元素对应的下标有两种
一种是从0开始,依次增加的(0表示第一个,1表示第二个…)
一种是从-1开始,依次递减的(-1表示第一个,-2表示第二个…)
movies = ['八佰', '花木兰', '信条', '星际穿越', '熊出没', '肖申克的救赎']
print(movies[0]) # ’八佰‘
print(movies[-1]) # ’肖申克的救赎‘
#print(movies[10]) 越界会报错 IndexError:list index out of range(下标错误)
遍历:将列表中的元素一个一个的全部取出来
直接遍历获取元素
for 变量 in 列表:
循环体
每次循环变量获取到的就是列表中的元素
print('........遍历1.........')
for i in movies:
print(i)
'''
遍历同时获取列表元素和下标
enumerate
for 变量1,变量2 in enumerate(列表):
循环体
变量1 获取到的是每个元素的下标,变量2获取到的是每个元素
'''
print('........遍历2.........')
for i, j in enumerate(movies):
print(i, j)
#通过遍历元素中的下标来间接地遍历每个元素
print('.........遍历3........')
for i in range(0, 6, 2):
print(movies[i])
练习 求总成绩
scores = [78, 67, 52, 78, 99, 23]
a = 0
for i in scores:
a += i
print(a)
for i in scores:
b=scores.pop()
print(b)
增:添加元素
列表.append(元素): 在指定的列表的最后添加指定元素
hero_list = ['鲁班7号', '亚索', '卢锡安']
hero_list.append('瑞兹')
print(hero_list) # ['鲁班7号', '亚索', '卢锡安', '瑞兹']
列表.insert(下标,元素)-在列表指定下标插入指定元素
hero_list = ['鲁班7号', '亚索', '卢锡安','瑞兹']
hero_list.insert(1,['盲僧','1'])
print(hero_list)
删除
del 列表[下标] 删除列表中指定下标对应元素
masters = ['貂蝉','小乔','甄姬','王昭君','周瑜','小乔']
del masters[0]
print(masters)
列表.remove(元素) - 删除指定元素 ,如果被删除的元素有多个,只删最前面那一个
如果要删除的元素没有则会报错
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '周瑜', '小乔']
masters.remove('小乔')
print(masters)
print('---------------for循环删除------------------------')
for i in masters:
masters.remove(i)
print(masters) # ['甄姬', '周瑜']
# 删不干净的原因:因为直接遍历原列表来删除会导致下标元素改变,这样就会跳过一些元素
# 导致删不干净
# 解决方案:遍历切片或者复制列表,删除原列表的数据
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '周瑜', '小乔']
for i in masters[:]:
masters.remove(i)
print(masters) # []
# 利用下标删除
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '周瑜', '小乔']
for i in range(len(masters)):
del masters[0]
print(masters) # []
print('******************************')
'''
列表.pop() 取出列表中最后一个元素
列表.pop() 取出列表中下标对应的元素
元素依然存在
'''
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '周瑜', '小乔']
x = masters.pop()
print(masters, x)
x = masters.pop(-2)
print(masters, x)
#改 修改元素的值
'''
列表[下标]=新值 将列表指定下标对应的元素修改成新值
'''
teleplays=['人民的名义','甄嬛传','纸牌屋','绝命毒师']
print(teleplays)
teleplays[0]='三十而已'
print(teleplays)