300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 集合 深浅拷贝 文件操作(读 写 追加)函数初识(参数)

集合 深浅拷贝 文件操作(读 写 追加)函数初识(参数)

时间:2020-01-31 12:37:36

相关推荐

集合 深浅拷贝 文件操作(读 写 追加)函数初识(参数)

小数据池#int==比较数值is 比较内存地址id 测试内存地址#str不能含有特俗字符单个元素*数字,不能超过21i1 = ‘a’*20i = ‘a’*20id一样i1 = ‘a’*21i = ‘a’*21id不一样编码ascii 英文的数字,字母,特殊字符字节8位表示一个字节字符内容的最小组成单位abc a一个字符中国中 一个字符unicode:万国码期初两个字节,表示一个字符2**16不够用升级四个字节,表示一个字符2**32够了utf-8最少用8位,表示一个字符a 用8位表示欧洲用16位表示亚洲用24位表示3字节gbk国标包含英文和中文中文用个字节表示1.不同编码之间的二进制不能互相识别2.对于文件的存储,及传输不能是unicode编码python3xintboolbytes:内部编码方式(非unicode,可能是utf-8,国标,根本2312.。。。)str:内部编码方式为unicode。不能用户发送及存储listdicttuplestr和bytes的区别字母str:表现形式:alex内部编码:unicodebytes:表现形式:s2 = b'alex'内部编码:非unicode中文str:表现形式:’中国‘内部编码:unicodebytes:表现形式:s2 = b'\xe4\xb8\xad\xe5'内部编码:非unicode编码所有编码到uniconde都是decode反之都是encode集合1.集合要求它里面的数据元素,可哈希的,元素不重复,无序本身是不可哈希的set1 = {}1.关系测试2.去重l1 = [1,1,2,2,3,4,5]print(list(set(s1))set1 = {'alex','wusir','egon',}增set1.add('文州')set.update('abc')PS:迭代增加删:set1.pop()随机删除set.remove('alex')按照元素删除set1.clear清空集合del set1删除整个集合查:for i in set1:print(1)关系测试:set1 = {1234}set2 = {2345}交集print(set & set2 )print(set.intersection(set2))并集print(set1 | set2)print(set1.union(set2))差集(求set里独有的元素)print(set1 - set2)print(set1 difference set2)反交集(不是交集,为反交集)print(set1 ^ set2)print(set1.symmetric_difference(set2))父子集(包含为超级,小为子集)set1 = {1,2,3}set2 = {1,2,3,4,5,6}print(set1 > set2)Trueprint(set1.isubset(set2))冻集set1 = {1,2,3}print(frozenset(set1))深浅拷贝浅copy第一层,各自独立。从第二层开始,公用一个内存地址s1 = [1,2,3]s2 = s1.copy[]s1.append(666)print(s1,s2)s1 = [1,2,3[11,22]]s2 = s1.copy[]s1[-1].append(666)print(s1,s2)深copy深copy无论多少次,都是互相独立的。互不影响import copys1 = [1,2,3[11,22]]s2 = s1.deepcopy[s1]s1.append(666)print(s1,s2)文件操作f1 = open('d:\xx.txt',encoding='utf-8',mode='r')print(f1.read())f1 文件句柄open()调用的内置函数,内置函数调用的系统内部的open一切对文件进行的操作都是基于文件句柄f1执行流程:打开文件-->产生文件句柄-->对文件句柄进行操作-->关闭文件句柄报错原因:编码问题File "D:/pycharm/day3/a.py", line 5, in <module>print(f1.read())File "D:\python\lib\codecs.py", line 322, in decode(result, consumed) = self._buffer_decode(data, self.errors, final)UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 39: invalid continuation byte编码不一致路径错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape解决方法在 路径最前面加个r读:r1、read()全读出来2、read(n)读一部分。n为读取指定多少字符3、readline()按行读取4、readlines()读取多行,放在列表里5、for循环读取for x in f1:print(x)f1.close()rbf1 = open('1.jpg',mode='rb')print(f1.read)f1.closerb的raad(n)n为字节r+r+读写模式r+b(涉及到b的,是bytes类型。都是非文字类型的文件,如电影,音乐)写:f1 = open('log2',encoding='utf-8',mode='w')w 没有文件,创建文件也要写入。有源文件,先清空内容,后写入内容wbw+ 写读模式,替换的是字节f1.seek(0) #调整光标到最前面(0,2)#调整到末尾w+b追加:a 没有文件,创建文件写入有源文件,后面追加f1 = open('账号密码',encoding='utf-8','mode='a')f1.write('太白')f1.closeab a+a+b其他操作方法readable是否可读writable是否可写tell告诉光标具体在哪seek调整光标的位置(0,2)调整到末尾truncate只能在a或者在a+模式下使用的truncate按照字节对源文件截取with open('d:\xx.txt',encodint='utf-8',mode='r')as f1,:print(f1.read)在一定的时间内,自动关闭能用一条语句,操作多个open文件的改1.以读模式打开源文件2.以写的模式打开一个新文件3.将源文件内容读出,按照要求修改,将修改后的内容,写入新文件4.删除源文件5.将新文件重命名源文件函数初识函数def函数名():函数体函数执行:函数名()函数以功能为导向函数名()return1.终止函数2.给函数的执行者返回值return 或者 return none多个值,返回元组3.函数的传参1.形参角度1.位置参数与实参的位置参数一一对应2.默认参数默认参数要在位置参数后面,括号里面加入参数为默认参数3.动态参数传入的参数不固定,用动态参数*args 接受所有的位置参数,放在元组中**kwargs接受所有的关键字参数,放在字典里#函数定义的时候,*代表聚合#函数执行的时候,*代表打散,放到一起字典用两颗星**形参先后顺序:位置参数-->*args-->默认参数-->**kwargs2。实参角度1.位置参数按顺序一一对应2.关键字传参参数一一对应3.混合传参(位置参数,关键字参数)关键字参数必须在位置参数后面条件简单,切结果简单。可以用三元运算

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。