课堂笔记:
1 # # 列表类型: 2 # 1.insert() #插入 3 # 第一个参数: 索引 第二个参数:插入的值 4 5 list1=['tank',18,'male',3.0,9,'广东','tank',[1,2]] 6 7 list1.insert(2,'oldboy') 8 print(list1) 9 10 # 2.pop() #取出 11 # 3 remove() #移除 12 # 4 count() #查看某个值的个数 13 print(list1.count('tank')) 14 15 # 5 index() # 查看值的索引 16 print(list1.index('广东'),'---广东') 17 18 # 6 cLear() # 清空列表的值 19 list1.clear() 20 print(list1) 21 22 23 # 7.copy() #浅拷贝 24 # 将list1的内存地址浅拷贝赋值给list2 25 list2=list1.copy() 26 print(list2,'添加值前') 27 28 # 将list1的原地址直接赋值给list3 29 list3=list1 30 print(list3,'添加值前') 31 32 33 # 深拷贝() 34 from copy import deepcopy 35 # 将list1的值深拷贝赋值给了list4 36 list4=deepcopy(list1) 37 38 # 追加jason到list1中 39 40 list1.appenf('jason') 41 42 print(list2,'添加值后') 43 print(list3,'添加值后') 44 45 # 给list1中的可变列表进行追加值 46 list1[8].append('tank') 47 48 # 打印直接赋值、深、浅拷贝的结果 49 # 浅拷贝:list1的列表中外层值改变对其不影响 50 # 但对list1 中的可变类型进行修改则会随之改变值 51 print(list2) 52 print(list3) 53 54 # 深拷贝:把list1 中的所有值完全拷贝到一个新的地址中 55 # 进而与list1完全隔离开 56 print(list4) 57 58 # 8.extend() #合并 59 list1=[1,2,3] 60 list2=[4,5,6] 61 list1.extend(list2) 62 print(list1) 63 64 # 9.reverse() #反转 65 list1.reverse() 66 print(list1) 67 68 # 10.sort() #排序 69 list3=[1,3,5,8,10,2,4,6] 70 71 # 升序 72 list3.sort() 73 print(list3) 74 75 # 降序 76 list3.sort(reverse=True) 77 print(list3)
1 # 字典的内置方法(字典是无序的) 2 # 1 按照key取、存值 3 dict1={'name':'张其','age':18,'sex':'male','school':'安徽工程大学'} 4 5 # 根据key取张其的学校 6 print(dict1['school']) 7 print(dict1['scal']) 8 9 # get() 10 # 第一个参数是字典的key 11 # 第二个参数是默认值,若key 存在则取key对应的值,否则取默认值 12 print(dict1.get('school','华南理工大学')) 13 print(dict1.get('sal','15000')) 14 15 16 # 最好用get,不会报错 17 18 # 2 len 19 print(len(dict1)) # 4 20 21 # 3 成员运算in 和not in 22 print('name'in dict1) # True 23 print('sal'in dict1) #False 24 print('sal' not in dict1) 25 26 # 4 删除 27 del dict1["name"] 28 print(dict1) 29 30 31 # pop() 32 # 根据字典中的key取出对应的值赋值给变量name 33 name=dict1.pop('name') 34 print(dict1) 35 print(name) 36 37 # 随机取出字典中的某个值 38 dict1.popitem() 39 print(dict1) 40 41 42 # Keys、values、items 43 print(dict1.keys()) 44 print(dict1.values()) 45 print(dict1.items()) 46 47 # 6 循环 48 # 循环字典中索引的key 49 for key in dict1: 50 print(key) 51 52 # 7 update() 53 print(dict1) 54 dict2={"work": "student"} 55 56 # 把dict2加到dict1字典中 57 dict1.update(dict2) 58 print(dict1)
1 # 元组类型(在小括号内,以逗号隔开存放多个值) 2 # 注意:元组与列表的区别,元组是不可变类型,列表是可变类型 3 4 tuple1=(1,2,3,4,5,6) 5 print(tuple1) 6 # 优先掌握 7 # 1.按索引取值 8 print(tuple1[2]) 9 10 # 2.切片(顾头不顾尾) 11 print(tuple1[0:6]) #(1,2,3,4,5,6) 12 # 步长 13 print(tuple1[0:6:2]) #(1,3,5) 14 15 # 3.长度 16 print(len(tuple)) # 6 17 18 19 # 4.成员运算 in和not in 20 print(1 in tuple1) # True 21 print(1 not in tuple1) # False 22 23 # 5.循环 24 for line in tuple1: 25 print(line)
1 # 集合类型(一般用于去重) 2 # 在{}以逗号隔开,课存放多个值,但集合会自带默认去重功能 3 set1={1,2,3,4,2,1,3,4} 4 print(set1) 5 6 # 集合是无序的 7 set1=() 8 set2={} 9 print(set1) 10 print(set2) 11 12 set2['name']='tank' 13 print(type(set2))
1 # 文件读写基本使用 2 # 对文本进行操作 3 # open(参数1:文件的绝对路径/文件的名字,参数2:操作模式,参数三:制定字符编码 4 # f=open('文本的名字.txt',mode="wt",encoding="utf-8") # f:称之为句柄 5 # r: 避免转义符 6 # 打开文件会产生两种资源,一种是python解释器与文件的资源,程序结束python会自动回收 7 # 另一种是操作系统打开文件的资源,文件打开后,操作系统并不会帮我们自动收回,所以需要手动回收资源。 8 9 # 写文件 10 f=open(r'C:/Users/非鱼/PycharmProjects/untitled/文本的名字.txt',mode="wt",encoding="utf-8") 11 12 f.write('hello 安徽工程大学!') 13 f.close() 14 15 # 读文件 16 f=open(r'C:/Users/非鱼/PycharmProjects/untitled/文本的名字.txt','r', encoding="utf-8") # 'r' 默认rt 17 res=f.read() 18 print(res) 19 20 f.close() 21 22 # # 文件追加模式 a 23 f=open(r'C:/Users/非鱼/PycharmProjects/untitled/文本的名字.txt', 'a',encoding="utf-8") # a 默认at 模式 24 25 f.write('\nhello,jason') 26 f.close()
1 import requests # pip install requests 2 res=requests 3 res=requests.get( 4 'https://img4.duitang.com/uploads/item/201503/31/20150331232735_uNXAS.jpeg') 5 # 写入图片 6 with open('1.jpg','wb') as f: 7 f.write(res.content) 8 9 # 读取图片 10 with open('1.jpg','rb') as f: 11 res=f.read() 12 print(res) 13 14 # 文件拷贝操作 15 with open('1.jpg','rb') as f,open('2.jpg','wb') as w: 16 res=f.read() 17 w.write(res) 18 19 # 读写视频 20 with open('视频.mp4','rb') as f,open('视频_copy.mp4','wb') as w: 21 res=f.read() 22 print(res) 23 w.write(res) 24 25 #一行一行读文件 #文件过大溢出 26 with open('视频.mp4','rb') as f,open('视频_copy.mp4','wb') as w: 27 # 一次打开文件所以内容,若文件的大小超出内存的大小会导致内存溢出 28 #f.read() 29 # 一行一行读取文件内容,一行一行写入文件中,避免内存溢出 30 for line in f: 31 w.write(line) 32 33 #res=f.read() 34 # print(res) 35 #w.write(res)
1 # 文件处理值上下文管理: with 2 # with 会自带close()功能 3 #会在文件处理以后自动调用close()关闭文件 4 5 # 写文件 6 with open(r'文本的名字.txt', 'a',encoding="utf-8") as f: 7 f.write('life is short') 8 # 9 # # 读文件 10 with open(r'文本的名字.txt', 'a',encoding="utf-8") as f: 11 res = f.read() 12 print(res) 13 14 # 文件追加 15 f=open(r'文本的名字.txt', 'a',encoding="utf-8") # a 默认at 模式 16 17 f.write('\n A')
函数:
# 1 什么是函数?
# 工具,函数相当于需要实现准备好,在需要用是再使用
#
# 2 如何使用函数
# 函数必须先定义、后调用
#
# 3 函数的语法
# def 函数名(参数1,参数2...):
# """
# 注释
# 函数的声明
# 水杯,用来盛水与喝水
# """
#
# 函数体代码(逻辑代码)
# return 返回值
'''
# def: (全称defind) 用来声明定义函数的关键字
# 函数名:看其名、知其意
# ():存放的是接收外界的参数
# 注释:说明函数的作用
# 函数体代码:逻辑代码
# return:后面跟函数的返回值
'''
1 # 注册功能 2 def register(): 3 ''' 4 此函数注册功能 5 :return: 6 ''' 7 while True: 8 #让用户输入用户名和密码 9 user=input('请输入用户名:').strip() 10 pwd=input('请输入密码:').strip() 11 re_pwd=input('请确认密码:').strip() 12 13 #判断两次输入的密码是否一致 14 if pwd==re_pwd: 15 # 格式化字符串的三种方式 16 17 # user_info='用户名;%s,密码:%s'%(user,pwd) 18 # user_info='用户名:{},密码:{}'.format(user,pwd) 19 20 #字符串前些一个f相当于调用format方法 21 22 user_info=f'用户名:{user},密码:{pwd}' 23 24 with open('user.txt','w',encoding='utf-8') as f: 25 f.write(user_info) 26 break 27 else: 28 print('两次密码不一致,请重新输入') 29 # 调用函数:函数名+括号 即调用函数 30 register()
运行结果:
'''
函数在定义阶段发生的事情
1 先打开python解释器
2 加载.py文件
3 python解释器会检测Py文件中的语法,只会检测python语法,不会执行函数体代码
'''