python第二课
2019-06-12 19:38 a_mf 阅读(225) 评论(0) 收藏 举报数据类型的剩余内置方法
#insert(位置,数值) list1 = ['tank',18,'male',3.0,9,'广东'] list1.insert(2,'oldboy') print(list1) #count() 查看个数 print(list1.count('tank')) #index()查看索引 print(list1.index('广东')) #clear() 清空 # list1.clear() # print(list1) #copy() 浅拷贝 list2=list1.copy() #值得拷贝,地址不同 list3=list1 #地址赋值#list3完全全部拷贝,追踪整个过程 地址相同 list1.append('limengfan') print(list2) print(list3) #深拷贝 from copy import deepcopy #浅拷贝:list1的列表中外层值改变对其不影响 深拷贝:把list1中的所有值完全拷贝到一个新的地址中 list4 = deepcopy(list1) list1.appent('123') print(list4) #extend() 合并 list1 = [1,2,3,[4]] list2 = [3,4,5] list1.extend(list2) list1.insert(4,'[2]') list1[3].append(8) print(list1) #reverse() list1.reverse() print(list1) #sort() 排序 list3 = [1,5,3,2,6] list3.sort() #升序 默认 reverse=False print(list3) list3.sort(reverse=True) #降序 print(list3) list1=[1,2,3] list2=list1.copy() list1.append(2) print(list2) from copy import deepcopy list4 = deepcopy(list1) list1.append('123') print(list4) #字典的内置方法(无序) #1、按照key取存值 dict1 = {'name':'李梦凡','age':18,'sex':'girl','school':'ahpu'} #根据key取值 print(dict1['school']) #print(dict1['sal']) #报错 print(dict1.get('school')) print(dict1.get('sal')) #不会报错 print(dict1.get('school','患难')) print(dict1.get('sal','15000')) #不会报错 #len print(len(dict1)) #成员运算in和notin print('name' in dict1) print('school' in dict1) print('sal' not in dict1) #删除 #del dict1['name'] #print(dict1) #pop() key #dict1.pop('name') #根据字典中国的key取值对应的值赋给name name = dict1.pop('name') print(dict1) print('name') #随机取出字典中某一个值 dict1.popitem() print(dict1) #key,values,item print(dict1.keys()) #所有kry print(dict1.values()) #循环 for key in dict1: print(key) #update() print(dict1) dict2={"work":"student"} dict1.update(dict2) print(dict1) 元祖类型(在小括号呢,以逗号隔开存放多个值)不可改变 列表可以改变 1、按索引取值 2、切片 3、长度 4、成员运算 in和not in 5、循环 tuple1=(1,2,3) print(tuple1) print(tuple1[2]) print(tuple1[0:3]) print(tuple1[0:3:2])#跳 print(len(tuple1)) print(1 in tuple1) print(5 in tuple1) for line in tuple1: print(line) 集合类型(无序) 一般用于去重(在大括号内{},以逗号隔开,以存放多个值,但集合会默认去重功能) set1={1,2,3,4,2,1} print(set1) set1=set() set2={} print(set1) print(set2) set2['name']='tank' #此时为字典 print(type(set2))
文件处理
#文件读写基本使用 #open #对文本进行操作 #open('文件的绝对路径(copy path)/文件的名字.txt',操作模式,指定字符编码) #f:称之为 句柄 # r:避免转义符 #打开文件会产生两种资源:1、python解释器和python文件的资源,程序结束python会自动回收 #2、一种操作系统打开文件的资源,文件打开后,操作系统不会帮我们回收,我们需要自己手动回收 # f = open('文件的名字.txt', mode='wt', encoding='utf-8') #在一个新的名为文件袋额名字的文件中写入,并且原有文件里面的内容不存在 # f.write('hello tank!') # f.close() #读文件 f = open(r'\C:\Users\李梦凡\PycharmProjects\untitled\02\文件的名字.txt','r',encoding='utf-8') #默认rt res = f.read() print(res) f.close() #文件追加 f = open(r'\C:\Users\李梦凡\PycharmProjects\untitled\02\文件的名字.txt','a', encoding='utf-8') #默认at f.write('hello,limengfan') #在原有的文件中加入新的内容 f.close() 文件处理只上下文管理:with with会自带close()功能,自动关闭 with open(r'li.txt', 'w',encoding='utf-8') as f: f.write('life is short,u need python') with open(r'li.txt', 'r',encoding='utf-8') as f: res = f.read() print(res) with open(r'li.txt', 'r', encoding='utf-8') as f: res = f.read() print(res) import requests res = requests.get('网址') print(res.content)#图片的二字流 #图片和视频操作 #写图片 with open('li.jpg','wb') as f: f.write(res.content) #读图片 with open('li.jpg','rb') as f: res = f.read() print(res) #拷贝 with open('li.jpg','rb') as f,open('meng,jpg','wb') as w: res=f.read() w.write(res) #一行一行读文件(若文件的大小超出内存大小会导致内存溺出 #一行一行读,一行一行写,避免内存溺出 ) with open('li.jpg/视频', 'rb') as f, open('meng,jpg', 'wb') as w: f.read() for line in f: w.write(line)
函数
#1、什么是函数 #2、(如何使用函数) # 先定义,后调用 #3、函数的语法 #def :定义 # def 函数名(参数1、参数2、.....): # """ #注释 # 函数的声明 # """ # 函数体代码(逻辑代码) # return 返回值 # # def:(全程defind) 用来声明定义函数的关键字user # 函数名:看其名知其意 # ():括号,存放的是接受外界的参数 # 注释:用来说明函数的作用 # 函数体代码:逻辑代码 # return:返回值 #注册功能 #函数的定义阶段发生的事情 # 1、先打开python解释器 # 2、加载该python文件 # 3、python解释器只会检测语法,但只会检测python语法,不会执行函数体代码 #定义 def register(): while True: user = input('请输入用户名:').strip() pwd = input('请输入密码:').strip() re_pwd = input('请输入密码:').strip() #判断两次输入密码是否一致 if pwd == re_pwd: #格式化字符飞 # uer_info='用户名:%s,密码:%s'%(user,ped) # uer_info='用户名:{},密码:{}'.format(user,pwd) #字符串前写一个f相当于调用了format方法 user_info=f'用户名:{user},密码:{pwd}' with open (f'{user}.txt', 'w', encoding='utf-8') as f: f.write(user_info) break else: print('两次密码不一致请重新输入!') #调用函数 函数名() 即调用函数 #egister() def foo(): print('from foo!') bar() #print( #调用阶段,会执行foo函数体代码 foo() 作业2
''' 1.让用户输入用户名与密码 2.校验用户名是否存在 3.用户名存在后检验密码是否正确,若正确打印“登陆成功” 否则打印“用户名或密码错误”,并让用户重新输入 4.用户密码输入错误超过三次则退出循环。 ''' def login(): i = 1 while i <= 3: user = input('请输入用户名:').strip() pwd = input('请输入密码:').strip() with open('limengfan.txt', 'r', encoding='utf-8') as f: old_info = f.read().split(',') for index in range(len(old_info)): if old_info[index] == user: if old_info[index+1] == pwd: print("登录成功") i = 4 break else: print("用户名或密码错误") i += 1 break login()
小结:在本次课堂上,我首次感觉到了python相比于其他语言的简洁,对于一些代码的简洁是其他的语言没有办法比的,感觉到了python的魅力,希望在接下来的学习上,更加能够学习
到其他语言没有办法比较的地方。
浙公网安备 33010602011771号