今日作业
#1、课堂总结
#列表类型
#1.insert() #插入
list1=[‘tank’,18,’male’,3.0,9,’广东]
list1.insert(2,’oldboy’)
print(list1)
#2.pop() #取出
#3.remove() #移除
#4.count() #查看值得个数
print(list1.count(‘tank’))
#5.index() #查看值得索引
list1.clear()
print(list1)
#6.clear() #清空列表的值
list1.clear()
print(list1)
#7.copy() #浅拷贝 只拷贝当前的;但如果直接赋值,值会随着原来的变动而变动。
#将list1的内存地址浅拷贝复制给list2
list2=list1.copy()
print(list2, ’添加值前’)
#将list1的原地址直接赋值给list3
list3=list1
print(list3, ’添加值前’)
#deepcopy #深拷贝 Copy完全拷贝(深拷贝)
from copy import deepcopy
#将list1的值深拷贝赋值给4
list4=deepcopy(list1)
#追加jason到1中
list1.append(‘jason’)
print(list2, ’添加值后’)
print(list3, ’添加值后’)
#给list1中的可变列表进行逐价值
list1[8].append(‘tank’)
#打印直接赋值,深浅拷贝的结果
#浅拷贝:list1的列表中外层值改变对其不影响
#但对list1中的可变类型进行修改则会随之改变值
print(list2)
print(list3)
#深拷贝:把list1中的所有值完全拷贝到一个新地址中
#进而与list1完全隔开
print(list4)
#8.extend() #合并
List1=[1,2,3]
List2=[4,5,6]
List1.extend(list2)
print(list1)
#9.reverse() #反转
list1.reverse()
print(list1)
#10.sort() #排序
list3=[1,3,5,8,10,2,4,6]
#升序
list3.sort()
print(list3)
#降序
list3.sort(reverse=True)
print(list3)
#tab:往右空四个空格
#shift+tab:往左空四个空格
#字典的内置方法(字典是无序的)
#1、按照Key取/存值
dict1={‘name’:’张琦’,’age’:18,’sex’:’male’,’school’:’安徽工程大学’}
#根据key取张琦的学校
print(dict1[‘school’])
print(dict1[‘sal’]) #查看薪资会报错
#get()
print(dict1.get(‘school’))
print(dict1.get(‘sal’)) #会显示None
#第一个参数是key
#第二个参数是默认值,若果key存在对应值则取对应值,否则取默认值
print(dict1.get(‘school’,’华南理工大学’))
print(dict1.get(‘sal’,’15000’))
#2、len
print(len(dicr1)) #4
#3、成员运算in和not in
print(‘name’in dict1) #True
print(‘sal’in dict1) #Flase
print(‘sal’[ not in dict1] #True
4、删除 del
del dict1[“name”]
print(dict1)
#pop()
#根据字典中的key取出对应值赋值给变量name
name=dict.pop(‘name’)
print(dict1)
print(name)
#随即取出字典中某个值 popitem
dict1.popitem()
print(dict1)
#5、keys\values\items
print(dict1.keys())
print(dict1.values())
print(dict.items())
#6、循环
#循环字典中所有的key
for key in dict1:
print(key)
#7、update()
print(dict1)
dict2={“work”:”student”}
#把dict2加到dict1中
dict1.update(dict2)
print(dict1)
#元组类型(在小括号内,以逗号隔开存放多个值)
#注意:元足浴列表的区别,元组是不可变类型,列表是可变类型
tuple1=(1,2,3)
print(tuple1)
#优先掌握
#1、按索引取值
print(tuple1[2])
#2、切片(顾头不顾尾)
print(tuole1[0:6]) #(1,2,3,4,5,6)
#步长
print(tuple1[0:6:2]) #(1,3,5)
#3、长度
print(len(tuple1)) #6
#4、成员运算in和not in
print(1 in tuple1) #True
print(1 not in tuple1) #Flase
#5、循环
for line in tuple1:
print(line)
#三 集合类型(一般用于去重)
#在{}以逗号隔开,可存放多个值,但集合会自带默认去重功能
set1={1,2,3,4,2,1,3,4}
print(set1)
#集合是无序的
set1=set({1,2,3,’tank’,18,’male’})
set2={1,2,3,’tank’,18,’male’}
print(set1)
print(set2)
#结果
#set({1,2,3,’tank’,18,’male’})
#{1,2,3,’tank’,18,’male’}
set2[‘name’]=’tank’
print(tyre(set2))
#结果:<class ‘dict’>
#文件读写基本使用
#对文本进行操作
#open(参数1:文件的绝对路径/文件的名字,参数2:操作模式,参数3:指定字符编码)
#f:称之为 句柄
#r:避免转义符
#写文件
f=open(
r‘/python_files/安徽工程/files/文件的名字.txt’,mode=”wt”,
encoding=”utf-8”)
f.write(‘hello tank!’) #写入文件
#打开文件会产生两种资源,一种是python解释器与python文件的资源,程序结束python会自动回收
#另一种是操作系统打开的文件资源,文件打开后,操作系统并不会帮助我们自动回收,所以要手动回收
f.close()
#读文件
f=open(
r’/python_files/安徽工程/files/文件的名字.txt’,
‘rt’, #t也可不写,默认rt
encoding=’utf-8’)
res=f.read()
print(res)
f.close()
#文件追加模式a
f=open(r’/python_files/安徽工程/files/文件的名字.txt’,
‘a’, #默认at模式
encoding=’utf-8’)
f.write(‘\nhello jason’)
f.close()
#文件处理之上下文管理:with
#with会自带close()功能
#会在文件处理完以后自动调用close()关闭文件
#写文件
with open(r’/file1.txt’,’w’,encoding=’utf-8’) as f:
f.write(‘life is short,u need python!’)
#读文件
with open(r’/file1.txt’,’r’,encoding=’utf-8’) as f:
res=f.read()
print(res)
#文件追加
with open(r’/file1.txt’,’a’,encoding=’utf-8’) as f:
f.write(‘\n AAA’)
#图片文件处理
import request
res=request.get(
‘某网站.jpg’) #某网站的图片url
print(res.content) #从网上爬入图片二进制流
#写入图片
with open(‘大帅比.jpg’,’wb’) as f:
f.write(res.content) #写入图片二进制流
#读取图片
with open(‘大帅比.jpg’,’rb’) as f:
res=f.read()
print(res)
#文件拷贝操作
#with可以管理多个文件
with open(‘大帅比.jpg’,’rb’) as f,open(‘小明.jpg’,’wb’) as w:
res=f.read()
w.write(res)
#读写视频
with open(‘视频文件.mp4’,’rb’) as f,open(‘视频文件_copy.mp4’,’wb’) as w:
res=f.read()
print(res)
w.write(res)