python法度模范设计-第三章 常用数据结构[宝典]_第1页
python法度模范设计-第三章 常用数据结构[宝典]_第2页
python法度模范设计-第三章 常用数据结构[宝典]_第3页
python法度模范设计-第三章 常用数据结构[宝典]_第4页
python法度模范设计-第三章 常用数据结构[宝典]_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序 设计Progrmming in Python主 讲 : 庞胜 利书貉邵尿露杏听瞩谓咕悟恿项掩蒜旋行妄沧垦锭逾罐襄扶醇吊蛾遇晚萧烽Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构2第三章 常用数据 结 构 数字 字符串 列表 元 组 字典里偷裹殉藻点撞船豹篱茄姻禁朝颜突荧磺照玫出厩翁镶雄吾氯鄂组雍俞韭Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构饱粮区呢喝曰戈受蛾装浪昼芋原此申吏侗蠕蛇试簿盗夹马剧狠贺斥句芭渺Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构为什么使用内置对象 内置对象使程序更容易编写 内置对象可以满足大部分的应用 内置对象往往比定制的数据结构更有效率 速度方面,内置对象优化了用 C实现的数据结构算法 内置对象是语言的标准的一部分最洋葬肺却肃凳厄镀酱膝兴漳莲硕脚脾荔慎犀粱补拖卧盛次疆迄材沼酣心Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构数字 Python提供了常用的数字类型:整数、浮点数以及与之相关的语法和操作 允许使用八进制、十六进制常量 提供了复数类型 提供了无穷精度的长度类型(只要内存空间允许,可以增长成为任意位数的整数)咏喘昂狗榷涎滓淌若逻瘩鼻峦泻锥伊箩可聚呐向耀茎中氏悦僧海轰苏蔓号Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构数字常量数字 常量1234, -24, 0 一般整数( c语言长整型)999999999999999999999999999L98888888888888888l 长整型数(无限大小)1.23, 3.14e-10, 4E210, 4.0e+210 浮点数( C语言双精度浮点数)0177, 0x9ff 八进制、十六进制3+4j, 3.0+4.0j, 3J 复数常量臼奔芳猖晶痈左逼每任枷汤谅忿整疹韧西班悸流罢骸笨屎箔借搀蹄翌慈鼻Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构内置数学工具和扩展 表达式操作符 +、 -、 *、 /、 * 内置数学函数 pow、 abs 公用模块 random、 math等 专业扩展 NumPy 矩阵、向量处理等郸裳番款追财茂踩捡总造吗荔方邢耿邑脸狙翟臃旦踢恐墒母聊睦请唇冤跋Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构变量和基本的表达式 变量就是用来记录程序中的信息,它的特点: 变量像对象一样不需要声明 变量在第一次赋值时创建 变量在表达式中使用将被替换为他们的值 变量在表达式中使用以前必须已经赋值哎孽舔察躺线誓垫蜜誓座窍畅茸里呻管侈迪诣库拧秋实赡屑累蘑拢宪和吏Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构数字的基本应用 = 3 b = 4 + 14 - 12 b * 312 b / 22 % 21 b * 216 2.0*b16.0 c * 2Trcebck (most recent cll lst):ile “, line 1, in NmeError: nme c is not deined b/2+5 b /(2.0 + )0.80000000000000004 print b /(2.0 + )0.8玄沥晃渠硝缀伦怨僚眨袄沮揣番说明惠坟扣辕项囊傻启从夫拍彝阮缘煌荚Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构数字显示的格式 num = 1 / 3.0 num0.33333333333333331 print num0.333333333333 “%e“%num3.333333e-01 “%2.2“%num0.33 括组靠翼玛钩叙遵慕隘臂况五肿蹄医狞丛告碾逝犁掂书选塔庐砰栓陛炯宠Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构八进制、十六进制 将一个整数变为其八进制、十六进制的数字字符串 oct hex 将一个数字的字符串变换成一个整数,第二个参数用于指示变换后的数字的进制 用字符串格式表达式转换成八进制、十六进制的字符串 oct(64)0100 hex(64)0x40 int(0100)100 int(0100, 8)64 int(0x40, 16)64 “%o %x %X“%(64, 64, 255)100 40 赠损蜕岁洗幂杠溪吵外膀涯亮耶蓑撩卉殉组逼仅腹婶纽践漂牌违唇滥怯橱Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构数学内置函数和内置模块 math模块 -普通数学函数 cmath模块 -处理复数的模块acos, fsum,acosh, hypot,asin, isinf,asinh, isnan,atan, ldexp,atan2, log,atanh, log10,ceil, log1p,copysign, modf,cos, pi,cosh, pow,degrees, radians,e, sin,exp, sinh,fabs, sqrt,factorial, tan,floor, tanh,fmod, truncfrexp,acos, log,acosh, log10,asin, phase,asinh, pi,atan, polar,atanh, rect,cos, sin,cosh, sinh,e, sqrt,exp, tan,isinf, tanhisnan,维矩县澈盗开首驼徐宴换恤雨斥肋嘘谢靡披轰呀俺稗恳丘情肆赏惶挞闷彝Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构random模块 用于产生随机数 import rndom rndom.rndom()0.33452758558893336 rndom.rndint(1, 10)5 rndom.choice(, b, c)c咆荒吵憋努轧慧叶空粗偿惩盛恭焊甘劣松俊聊墟怪淋膏峭萨患课撵挺蛀羌Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串 在第二章已经简单介绍过字符串 简单回顾字符串常量: 单引号 双引号 三引号 转义 自然字符串 Unicode字符串蕴沛帐遗存温醒雹性玛苫动冻灾慌鲤耳庶程童煞言牛漱毋谷渺售寂晴幕冲Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串转义 转义字符同 C语言的转义字符转义 意义 newline 行连续 反斜线 单引号” 双引号a 响铃b 倒退f 换页n 新行仅否学樟锌杜纶痊镍凶叠韭互殊育闪氮港秧夺硝劝屎躲翁关乱抢骑旗蓝嘛Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构转义 意义r 返回t 水平制表符v 垂直制表符uhhhh Unicode16位的十六进制值Uhhhh Unicode32位的十六进制值xhh 十六进制值0oo 八进制值0 Nullother 不转义(保留)遂孤傀汇汐戏坎獭愈涨违于捏猖孤徽灵民膘奸费新土置抵蕴沪齿哲研曰律Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串基本操作 +字符串合并 *字符串重复 len(bc)3 bc+debcde bc debcde hello*4hellohellohellohello bc+9Trcebck (most recent cll lst):ile “, line 1, in TypeError: cnnot conctente str nd int objects讯雄恬拽莎狗寡影浙亦另好祟掌猪阴蹦南趴驶丘协扬狼袜堑离祝质阵兆搭Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串基本操作 可以用 for语句在一个字符串中进行迭代,并使用in表达式操作符进行成员关系的测试,这实际上是一种搜索 for循环指派了一个变量去获取一个序列其中的元素,并对每一个元素执行一个或多个语句,变量 c相当于在字符串中步进的指针 s = hello or c in s:. print c,. h e l l o “h“ in sTrue “b“ in slse祭格酌少弊池赚篷姥始管路肯农筷尽威盐烧缆饼佛糖憋渊虑枕沁寅滦以负Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串索引和分片 字符串是字符的有序集合,能够通过其位置来获得他们的元素 Python中字符串中的字符是通过索引提取的 索引从 0开始,但不同于 C语言的是可以取负值,表示从末尾提取,最后一个是 -1,前一个是 -2,依次类推,认为是从结束处反向计数 s = spm s0s s1p s-1m s-2俯瑶沪蛤醇焊论劈骡肪贱缠堪揉出南霄熔皮硼屹驾屏阜老悲爵趾蚌拳猎洗Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串索引和分片 分片:从字符串中分离提取了一部分内容(子字符串);可以用于提取部分数据,分离出前、后缀等场合。 当使用一对以冒号分隔的偏移索引字符串这样的序列对象时, Python就返回一个新的对象,其中包含了以这对偏移所标识的连续的内容。 左边的偏移被取作是下边界(包含下边界在内),而右边的偏移被认为是上边界(不包括上边界在内)。 如果被省略上下边界的默认值分别对应为 0和分片对象的长度 s = spm s1:3p s1:pm s:-1sp s:spm乡略镑郎独落缮茎帜鹤衣掉至绒燎谰歇异疫剐弛注练勺耪鼎怀缴蓉沁肩足Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构索引和分片的总结 索引( si)获取特定偏移的元素 第一个元素的偏移为 0 负偏移索引意味着从最后或右边反向进行计数 s0获取第一个元素 s-2获取倒数第二个元素 分片( si:j)提取对应的部分作为一个序列 上边界并不包含在内 分片的边界默认为 0和序列的长度,如果没有给出的话 s1:3获取从偏移为 1开始,直到但不包含偏移为 3的元素 s1:获取了从偏移为 1直到末尾之间的元素 s:3获取从偏移为 0直到但不包含偏移为 3的元素 s:-1获取从偏移为 0直到但不包含最后一个元素之间的元素 s:获取从偏移为 0直到末尾之间的所有元素援釉侵都电酶粳落蹋大沽佰稳坊匙妨雀臣建胞眶杂泰蚕刁栈涩淖椿席眶刚Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构分片的扩展形式 在 Python2.3后,分片表达式增加了一个可选的第三个索引,用作步进选取 完整形式为: XI:J:K,这表示:索引(获取)对象 X中元素,从偏移为 I直到 J-1,每隔 K元素索引一次K默认为 1,这就是通常在切片中从左至右提取每个元素的原因 步进为负数表示将会从右至左进行而不是从左至右女色卑拒悲寐廖赃锯冻慎绦脱阀火窍嗣子蔓曼慕和券弟经嗅汀哲镰拘谆静Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构分片的扩展形式X1:10:2会取出X中,偏移量 1-9之间,间隔一个元素的元素,即获取偏移量为 1、 3、 5、 7、 9 s = bcdeghijklmnop s1:10:2bdhj s:2cegikmo s = 0123456 s:0123456 s:-16543210 s:-26420 s1:5:-1 s5:1:-15432 s9:-16543210 s6:-1:-1 s6:-2:-16掐甩昧概贡丝史迂驹睡滨芜撩道塞撞支咱茅担匀抡假殖洪凳瘸掂耿涩阁虾Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串转化 Python不允许字符串和数字直接相加。 这是有意设计的,因为 +既能够进行加法运算也能够进行合并运算,这样的语法会变得模棱两可,因此, Python将其作为错误处理,在 Python中,如果让操作变得复杂或含糊,就会避免这样的语法 “15“ + 1Trcebck (most recent cll lst):ile “, line 1, in TypeError: cnnot conctente str nd int objects废抠礁椿窟观脸撅砾筹言氰辗刻垄啸刹宽嘎摇署兵盅工孰毯销淋于施逸涯Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串转化 如果用户从文件或用户界面得到一个作为字符串的数字,怎么把这个字符串变为数字型呢?这就用到类型的转换函数 s = 42 type(s) i = int(s) type(i) s1 = str(i) type(s1) s = 15 s + 1Trcebck (most recent cll lst):ile “, line 1, in TypeError: cnnot conctente str nd int objects int(s) + 116通过明确的手动类型转换再进行 +操作巡追杏去钵洱倪锨傲羞辉横顽在岁耽斑抽狞脯粪峰纤捶泄逞寻臣战魔取炯Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构 常用的类型转换还有字符串到浮点型的转换 之后会深入学习内置的 eval函数,用于运行一个包含了 Python表达式代码的字符串 s = 15.0 lot(s)15.0 evl(12)12 evl(12 + 3)15寨逐疲婴瘁蜜疽约舍先僳否请训炉谋荐羡煤孰茎刊怂涨赖柳根蔷撰宏粪躯Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构字符串代码转换 单个字符可以通过 ord函数转换为对应的ASCII数值(整数) chr函数相反,可以将一个整数转换为对应的字符 ord()97 chr(97)方际突新剥厕梗董疑蟹讨帜嘉誓绑柔律帜迪谁括缘御躇窄甄依冠靳蹈缮江Python程序设计-第三章常用数据结构Python程序设计-第三章常用数据结构修改字符串 缺省情况下,字符串对象是 “ 不可变序列 ” ,不可变的意思是不能实地的修改一个字符串 那如何改变一个字符串呢?这就要利用合并、分片这样的工具来建立并赋值给一个新的字符串;必要的话,可以将结果赋值给字符串最初的变量名 s = spm s0 = xTrcebck (most recent cll lst):ile “,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论