




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程提纲:Python重访类型分类及其他
重访类型分类对象灵活性引用VS拷贝比较、相等性和真值Python的类型层次内置类型陷阱1重访类型分类在了解了Python中核心内置类型以后,下表对所有类型重新加以分类。对象根据它所属的类别共享操作。
对象分类对象类型分类是否可变数字数值否字符串序列否列表序列是字典对应是元组序列否文件扩展N/A2对象灵活性列表、字典和元组可以包含任何种类的对象列表、字典和元组可以任意嵌套列表和字典可以动态地扩大和缩小例子:>>>L=['abc',[(1,2),([3],4)],5]>>>L[1][(1,2),([3],4)]>>>L[1][1]([3],4)>>>L[1][1][0][3]>>>L[1][1][0][0]33引用VS拷贝在Python中,赋值操作总是储存对象的引用,而不是这些对象的拷贝。在实际应用中,如果某个引用在原处修改了可变对象时可能就会影响程序中其他地方对相同对象的其他引用,这一点很重要。如果不想这样做,就需要明确地告诉Python复制该对象。例如:>>>X=[1,2,3]>>>L=['a',X,'b']>>>D={'x':X,'y':2}变量名对象LXD123>>>X[1]='surprise'>>>L['a',[1,'surprise',3],'b']>>>D{'y':2,'x':[1,'surprise',3]}3引用VS拷贝
Python中,在传递大型对象时如果的确需要拷贝,那么可以明确要求。没有限制条件的分片表达式能够复制序列字典copy方法能够复制字典有些内置函数(例如list)能够生成拷贝(list(L))copy标准库模块能够生成完整拷贝例如:>>>L=[1,2,3]>>>D={'a':1,'b':2}>>>A=L[:]>>>B=D.copy()>>>A[1]='Ni'>>>B['c']='spam'>>>L,D([1,2,3],{'a':1,'b':2})>>>A,B([1,'Ni',3],{'a':1,'c':'spam','b':2})4比较、相等性和真值所有的Python对象也可以支持比较操作—测试相等性、相对大小等。Python的比较总是检查复合对象的部分,直到可以得出结果为止。事实上,当嵌套对象存在时,Python能够自动遍历数据结构,并从左到右递归地应用比较,要多深就走多深。“==”:操作符测试值的相等性。(递归地比较所有内嵌对象)“is”:表达式测试对象的一致性。(测试二者是否是同一个对象,检查内存地址)例如:>>>L1=[1,('a',3)]>>>L2=[1,('a',3)]>>>L1==L2,L1isL2(True,False)>>>s1='alongerstring'>>>s2='alongerstring'>>>s1==s2,s1iss2(True,False)一般来说,在Python不同的类型的比较方法如下:数字通过相对大小进行比较。字符串是按照字典顺序,一个字符接一个字符地对比进行比较。列表和元组从左到右对每部分的内容进行比较。字典通过排序之后的(键、值)列表进行比较。5Python的类型层次数字整数FloatComplexSetDecimalIntegerLongBoolean集合序列映射不可变可变DictionaryStringListUnicodeTupleModuleInstanceFileNoneTypeCodeFrameTraceback其他内部细节FunctionClass方法BoundUnbound可调用6内置类型陷阱(1)赋值生成引用,而不拷贝:>>>L=[1,2,3]>>>M=['x',L,'Y']>>>M['x',[1,2,3],'Y']>>>L[1]=0>>>M['x',[1,0,3],'Y']>>>L=[1,2,3]>>>M=['x',L[:],'Y']>>>L[1]=0>>>L[1,0,3]>>>M['x',[1,2,3],'Y'](2)重复能够增加层次深度:>>>L=[4,5,6]>>>X=L*4>>>Y=[L]*4>>>X[4,5,6,4,5,6,4,5,6,4,5,6]>>>Y[[4,5,6],[4,5,6],[4,5,6],[4,5,6]]>>>L[1]=0>>>X[4,5,6,4,5,6,4,5,6,4,5,6]>>>Y[[4,0,6],[4,0,6],[4,0,6],[4,0,6]]6内置类型陷阱(3)留意循环数据结构:无论何时Python在对象中检测到循环,都会打印成[…],而不会陷入无限循环>>>L=['grail']>>>L.append(L)>>>L['grail',[...
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医保政策考试题库:基础解读与医疗保险法规实务案例分析试题汇编
- 2025年雅思阅读专项模拟试卷:环境保护与可持续发展
- 职业指导师专业能力2025年测试卷:职业指导师职业道德
- 2025年电工中级职业技能鉴定试卷电气自动化技术与应用
- 2025年电子商务师(初级)考试试卷:电子商务网站内容管理
- 金融说课课件
- 金属加工知识培训课件
- 重症监护技术课件
- 重庆介绍教学课件
- 酶的固定化技术
- 2025新公安辅警招聘知识考试题库及答案
- 2025辅警招聘考试题及答案
- 2025年中小学公开选拔校长笔试模拟试卷
- 铁路行车安全培训课件
- 中文版儿童睡眠习惯问卷CSHQ 含评分维度
- DB12T 1443-2025 社会单位消防安全管理导则
- 2025安全生产月活动总结模板十(19P)
- 内蒙古呼和浩特实验教育集团2025届八下英语期末考试试题含答案
- 《电子工业全光网络工程技术规范》
- 山东女子学院《大学英语学前教育学院》2023-2024学年第二学期期末试卷
- 2025至2030中国电子皮肤行业项目调研及市场前景预测评估报告
评论
0/150
提交评论