欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Python第三次理论课.ppt

    • 资源ID:5445825       资源大小:428KB        全文页数:59页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Python第三次理论课.ppt

    2023/7/7,1,2008.05,程序设计基础(Python语言),主讲:朱立华,2023/7/7,2,2008.05,第三讲:第4章字符串和文件操作,3,本次课主要内容,主要内容,理解字符串数据类型及其在计算机中的表示,一,掌握常用的字符串处理方法,二,掌握字符串的编码和格式化方法,四,掌握 Python 字符串文件和二进制的输入出方法,三,4.1 字符串数据类型,字符串(常量)是用双引号或者单引号括起来的一个或多个字符。字符串可以保存在变量中。变量可以通过赋值或读入获得值字符串的两种形式:str1=Hello str2=John print str1,str2Hello John type(str1),4.1 字符串数据类型,输入对任何用户输入类型均返回一个字符串对象。用raw_input()函数获取用户输入的字符:name=raw_input(Please enter your name:)Please enter your name:John print Hello,name将从键盘输入的字符串John赋值给了变量name,4.1 字符串数据类型,索引字符在字符串里的位置。对字符串中字符的位置进行标号,可以从左边开始标记为0,其后的序号依次+1;或者从右边开始标记为-1,其前的序号依次-1 Python中字符串索引从0开始,一个长度为n的字符串最后一个字符的位置是n-1。如果最后一个字符从-1开始,则一个长度为n 的字符串最前面一个字符的位置是-n。,4.1 字符串数据类型,索引用于在字符串表达式上访问某一特定位置的字符。其格式为。greet=Hello John print greet0,greet2,greet4H l o x=8 print greetx-2J print greet-3o,4.1字符串数据类型,剪切访问连续的一段字符或子字符串即在字符串中索引一定位置范围内的字符格式::。start和end都是int型表达式子序列从索引start位置开始直到索引end位置结束,不包括end位置的值 greet0:3Hel greet3:-3lo J,4.1 字符串数据类型,如果其中一个索引表达式缺失,则把开始或结束索引值设为默认值 greet:5Hello greet:Hello John greet4:o John,4.1 字符串数据类型,字符串的连接操作:加法操作(+):将两个字符串连接成为一个字符串乘法操作(*):构建一个由其本身字符串重复连接而成的字符串Python字符串操作表,4.1 字符串数据类型,4.1字符串数据类型,字符串操作综合例子:pine+applepineapple Pine+And+ApplePineAndApple 3*pine pinepinepine,4.1 字符串数据类型,apple*5appleappleappleappleapple len(pine)4 len(PineAndApple)13,4.1 字符串数据类型,for ch in Pine!:print ch P i n e!str.upper(abc)ABC,4.1 字符串数据类型,str=a b c de print strip=%s%(str.split()strip=a,b,c,de str=python String function print strip=%s%(str.strip()strip=python String function,4.2 简单的字符串处理,例1:生成计算机系统用户名的程序。要求:输入用户姓名,输出用户名字的首字母后面加上最多7位作为用户名。举例:用户姓名为Alex Shoulson,生成的用户名为”AShoulson”;用户姓名为John Smith生成的用户名为”JSmith”。代码:,4.2 简单的字符串处理,#username.pyprint This program generates computer usernames.n#输入姓名first=raw_input(Please enter your first name:)last=raw_input(Please enter your last name:)#连接名字的字符uname=first0+last:7#输出用户名print Your username is:,uname,4.2 简单的字符串处理,raw_input()函数获得用户输入的字符串结合索引、剪切、加法操作生成用户名运行结果:This program generates computer usernames.Please enter your first name:alexPlease enter your last name:shoulsonYour username is:ashoulso,4.2 简单的字符串处理,例2:输出给定月份数字对应的月份名称缩写。要求:输入一个表示月份的数字(112),输出其对应月份名称的缩写举例:输入3,程序输出Mar.方法:利用字符串剪切操作来实现该功能将所有的月份名称储存在一个字符串中:months=“JanFebMarAprMayJunJulAugSepOctNovDec”,4.2 简单的字符串处理,在字符串中截取适当的子串来实现特定月份的查找问题的关键:找出在哪里剪切每个月的缩写都由3个字母组成,需要获得从起始位置pos开始且长度为3的子串:monthAbbrev=monthspos:pos+3,4.2 简单的字符串处理,pos位置的规律:月份的位置都是3的倍数。月 输入 位置Jan 1 0Feb 2 3Mar 3 6Apr 4 9,4.2 简单的字符串处理,将输入的月份减1再乘以3就能够等到正确的月份起始位置。例如:输入1,计算(1-1)*3=0*3=0;输入12,计算(12-1)*3=11*3=33。,4.2 简单的字符串处理,代码:#month.py#输出给定月份的缩写#使用months作为查找表months=JanFebMarAprMayJunJulAugSepOctNovDecn=eval(raw_input(Enter a month number(1-12):),4.2 简单的字符串处理,#计算月份n在months中的位置pos=(n-1)*3#计算需要剪切的字符串monthAbbrev=monthspos:pos+3#输出结果print The month abbreviation is,monthAbbrev+.,4.2 简单的字符串处理,程序运行结果:month.pyEnter a month number(1-12):7The month abbreviation is Jul.程序缺点:使用字符串作为查找表所剪切的子字符串长度必须相同(本程序中长度均为3)。考虑如何实现程序输入月份数字,输出完整的月份名称。,4.3 字符串描述和信息编码,4.3.1 字符串编码ASCII(American Standard Code for Information Interchange):行业标准编码。ASCII用数字0-127来表示常见的字符和控制代码举例:大写字母A-Z用65-90表示,小写字母a-z用97-122表示。Unicode:国际标准化组织制定的更大的编码标准,几乎支持所有书写语言的字符。Python字符串支持Unicode标准,4.3 字符串描述和信息编码,4.3.1 字符串编码Python提供内置函数,用于切换字符和其数值。函数ord():返回单字符字符串所对应的数值函数chr():返回数值对应的单字符字符串应用:将输入消息转换成数字序列输出。算法:获得输入的信息;迭代输入信息的每个字符;输出此字符对应的数字。,4.3 字符串描述和信息编码,4.3.1 字符串编码raw_input()获得用户输入的信息message=raw_input(Please enter the message to encode:)for循环来迭代处理输入信息中的每个字符:for ch in message:利用ord()函数转换输入的字符串,4.3 字符串描述和信息编码,4.3.1 字符串编码程序代码:#text2numbers.py#使用Unicode编码将文本转换为数字,获取信息message=raw_input(Please enter a message to encode:)print(Here are the Unicode codes:)#使用for循环输出每一个字符的unicode编码for ch in message:print ord(ch),4.3 字符串描述和信息编码,4.3.1 字符串编码程序运行结果:text2numbers.pyPlease enter a message to encode:Happy Halloween,John!Here are the Unicode codes:32 72 97 112 112 121 32 72 97 108 108 111 119 101 101 110 44 32 74 111 104 110 33,4.3 字符串描述和信息编码,4.3.1 字符串编码注意:结果中输入的空格字符也被转换成相应的Unicode数值。空格对应的Unicode数值是32。,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作eval()函数:将字符串转换为其他任何数据类型。数值类型转换函数(int(),float())将字符串转换为数字格式。int(3)3 float(3)3.0 float(3)3.0,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作传递给转换函数的字符串必须是数字字符并且要与转换格式一致,否则程序会报错。int(3.5)Traceback(most recent call last):File,line 1,in int(3.5)ValueError:invalid literal for int()with base 10:3.5,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作使用eval()或int()转换字符串为数字时,Python允许整数类型的文本输入以0作为开头。int(007)7 int(05)5,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作 int(003)3 eval(05)5,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作例子:扩展前面月份缩写的例子实现日期转换。举例:输入“05/24/2003”,输出日期“May 24,2003.”算法:(1)输入日期,格式为:mm/dd/yyyy格式,并保存在dateStr变量中;(2)将dateStr分成月份、日期、年份的字符串(3)将月份的字符串转换为月份数字格式;,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作算法:(4)利用数字月份查找这个月份的名称;(5)创建一个新的日期字符串,格式为:月份,日期,年份(6)输出这个新的日期字符串,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作以字符串格式接收输入的日期,并利用斜杠分离日期信息将分离出来的月份、日期、年份信息分别赋值给3个字符串变量monthStr,dayStr 和 yearStr。dateStr=raw_input(Enter a date(mm/dd/yyyy):)monthStr,dayStr,yearStr=dateStr.split(/),4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作利用int()函数将monthStr转换为数字数字用于查找日期名称months=January,February,March,April,May,June,July,August,September,October,November,DecembermonthStr=monthsint(monthStr)-1print The converted date is:,monthStr,dayStr+,yearStr,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作months的索引采用了表达式int(monthStr)-1因为:int(monthStr)取值为1到12,而索引months的取值范围是0到11,因此进行减1运算数字用于查找日期名称程序运行结果:Enter a date(mm/dd/yyyy):11/13/2003The converted date is:November 13,2003,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作大多数数据类型都可以通过str()函数转换为字符串转换函数:,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作举例:输入日、月、年数字,以出两种格式日期代码:#dateConvert2.py#将日期格式由mm/dd/yyyy 格式转换为month day,year格式#获取日期day,month,year=eval(raw_input(Please enter day,month,and year numbers:),4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作date1=str(month)+/+str(day)+/+str(year)months=January,February,March,April,May,June,July,August,September,October,November,DecembermonthStr=monthsmonth-1date2=monthStr+str(day)+,+str(year)print The date is,date1,or,date2+.,4.3 字符串描述和信息编码,4.3.2 字符串输入输出操作程序运行结果:Please enter day,month,and year numbers:13,11,2003The date is 11/13/2003 or November 13,2003.,4.4 文件处理,多行字符串处理常规换行符(规定为n)表示换行 print HellonWorldnnGoodbye 32nHelloWorldGoodbye 32,4.4 文件处理,多行字符串处理在shell中输入包含换行符的字符串,只能得到带有换行字符的字符串 HellonWorldnnGoodbye 32nHellonWorldnnGoodbye 32n,4.4 文件处理,4.4.2 文件的输入输出文件的操作:打开文件操作文件对象(读取、写入)关闭文件当写入信息到文件对象时,只有在文件关闭后磁盘上的文件才会显示变化。,4.4 文件处理,4.4.2 文件的输入输出open():创建文件对象=open(,)name参数为字符串格式,表示磁盘文件名字。参数mode表示打开模式,具体描述见下表。,4.4 文件处理,4.4.2 文件的输入输出,4.4 文件处理,4.4.2 文件的输入输出Python读取文件相关的操作,4.4 文件处理,4.4.2 文件的输入输出例1:应用读操作将文件内容输出到屏幕上#printfile.pydef main():fname=raw_input(Enter filename:)infile=open(fname,r)data=infile.read()print(data)main(),4.4 文件处理,4.4.2 文件的输入输出Readline()操作:读取文件的下一行raw_input():得到用户输入每一行的值。区别:readline()函数的返回值以换行符结束,raw_input()操作读取的字符舍弃了换行符。,4.4 文件处理,4.4.2 文件的输入输出例2:输出文件前5行内容方法1:infile=open(someFile,r)for i in range(5):line=infile.readline()print line:-1或者直接打印每一行,不用输出函数进行换行。print line,4.4 文件处理,4.4.2 文件的输入输出方法2:使用readlines()方法读入文件,遍历整个文件内容infile=open(someFile,r)for line in infile.readlines():#处理一行数据infile.close()缺点:读入文件非常大时,一次性读取内容到列表中会占用很多的内存,4.4 文件处理,4.4.2 文件的输入输出方法3:Python将文件本身作为一个行的序列infile=open(someFile,r)for line in infile:#处理一行数据infile.close(),4.4 文件处理,4.4.2 文件的输入输出文件写入操作文件名称不存在,创建一个新文件文件名的文件存在,将删除它并创建一个新的空文件outfile=open(mydata.out,w),4.4 文件处理,4.4.2 文件的输入输出使用输出语句写入信息到文本文件print outputFile,.outputFile指定要写入的文件名补充例子:将源文件中的小写字母全变为大写字母存入另一个文件,第58页,第三次课小结,熟悉字符串类型,熟练掌握字符串各种操作,掌握文件的基本操作,重点是会处理文本文件,2023/7/7,59,2008.05,谢谢大家!,

    注意事项

    本文(Python第三次理论课.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开