程序设计思想与方法——第二章.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计思想与方法——第二章

字符串操作:取字符 字符串是字符序列,可通过位置索引访问每个字符. 字符串[索引] 对长度为n的字符串,索引可以 是大于0的数:自左向右为0 ~ n?1, 或者 是负数:自右向左为?1, ?2, ?3,…, ?n 例如:若str = Hello Bob,则 str[0]或str[?9]是H str[5]或str[?4]是 str[8]或str[?1]是b str[9]或str[?10]越界出错 字符串操作:取子串 切段:取一个索引范围内的字符. 字符串[start:end] 所取子串:位置索引从start ~ end?1 start或/和end可省略,缺省值为串的首/尾 例如:若str = Hello Bob,则 str[0:3]是Hel str[5:9]是 Bob str[:5]即str[0:5] str[5:]即str[5,9] str[:]即str[0:9] 字符串操作:连接 两字符串的连接 string1 + string2 例如:Hello + Bob得到HelloBob 一个字符串的重复 例如:3*Hi和Hi*3都得到HiHiHi 子串检测 例如:ok in cook返回True(见后) 串长度函数len() 字符的机内表示 与数值一样,计算机内用二进制数表示每一个字符. 因此操作字符串本质上仍然是数值运算. 表示字符的这个数值称为字符的编码. 问题:计算机采用什么字符集?其中每个字符用什么编码? 对这个问题的不同回答就导致了许多不同的字符编码系统. 编码标准 不同计算机若用不同编码,则彼此无法沟通. 标准化 ASCII:单字节编码,但只用到7位(0~127) 96个可打印字符,32个控制字符 ISO/IEC 8859-1(Latin-1):单字节用满8位(0~255) GB2312:两字节(7445字符/6763汉字) GBK:两字节(21886字符/21003汉字),中文缺省编码 GB18030:最多四字节(76556字符/70244汉字) ISO/IEC 10646或Unicode:最多四字节. 字符与编码 求给定字符的编码: ord() ord(a)可得97 求给定编码的字符:chr() chr(97)可得a 可见Python 2.7默认编码为ASCII. Q:非ASCII字符怎么办?A:用Unicode字符串 print uA\xc4B A?B Python程序中使用汉字 国际化:希望程序中显示中文信息 中文Windows的缺省编码是GBK 汉 \xba\xba 输入汉即输入其GBK编码 print \xba\xba 或用汉 汉 print语句能正确解码GBK print \xba\xba\xc4 不能解码! 最好用Unicode print u\u6c49\xc4 \xc4或用\u00c4 汉? 数值与字符串的互相转换 eval()函数:将字符串当作数值表达式进行计算. 语法: eval(string) 例如: eval(3+4*5) str()函数:将数值当作字符串 语法: str(expr) 例如: str(3+4*5) 字符串库 模块string:包含了很多有用的字符串处理函数 例如capwords(s);count(s,sub);find(s,sub); rfind(s,sub);replace(s,oldsub,newsub) from string import * capwords(hello world!) Hello World! count(知之为知之不知为不知,不知) 2 find(知之为知之不知为不知,不知) 10 rfind(知之为知之不知为不知,不知) 16 print replace(知之为知之不知为不知,知,zhi) zhi之为zhi之不zhi为不zhi 布尔类型 布尔类型bool 合法值:True, False.用于表达真,假数据 3 2 True 4 + 5 == 5 + 4 True a = -8 a * 2 a False like lake False 更多内容以后结合if语句介绍 列表类型(1) int,long,float,bool都是原子值 str是由多个字符组成的序列 列表类型list 是集合体-多个数据组成的序列 例如 [] [1,2,3] [list,sequence] 列表类型(2) list与其他语言中的array相似,但不同 不固定长度,可以增删成员 不要求各成员都是相同类型的 成员本身也可以是列表 例如 [2,apples] [1,two,3.0,True] [[1,apple],[2,pears]] 列表操作(1) 索引

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档