版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程提纲: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场渗滤液处理系统改扩建工程项目可行性研究报告(编制大纲)
- 2024-2025年中国通信类PCB行业市场前景预测及投资战略研究报告
- 2025有关劳动合同内容变更的情形
- 铜制饰品项目可行性研究报告
- 2024-2030年中国深圳市产权式酒店行业市场深度分析及发展趋势预测报告
- 山西重点项目-太原西寨村城中村改造项目可行性研究报告
- 2025工厂内部承包合同
- 2025挖掘机施工合同模板
- 2025出国定居(技术类)咨询服务合同书
- erp财务岗位职责
- 四川省巴中市2023-2024学年高二上学期期末考试物理试题【含答案解析】
- 《两小儿辩日》教学案例:培养学生的思辨能力
- 2024年广东省普通高中学业水平考试化学试卷(修改+答案)版
- 2024年小学生中华经典诵读知识竞赛参考题库500题(含答案)
- 日拱一卒行稳致远
- 培训内驱力的课件
- 管理后台策划方案
- 人防、物防、技防工作措施
- 市场部培训课程课件
- 八年级历史上册论述题汇总
- 资产评估学教程(第八版)习题及答案 乔志敏
评论
0/150
提交评论