收藏 分销(赏)

Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx

上传人:天**** 文档编号:4153435 上传时间:2024-08-04 格式:PPTX 页数:59 大小:1.30MB
下载 相关 举报
Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共59页
Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共59页
Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共59页
Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共59页
Python电子教案32基本数据类型省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、第3章 基本数据类型 第1页字符串类型及其操作第2页字符串是字符序列表示,能够由一对单引号()、双引号()或三引号()组成,其中,单引号和双引号都能够表示单行字符串,二者作用相同。使用单引号时,双引号能够作为字符串一部分;使用双引号时,单引号能够作为字符串一部分。三引号能够表示单行或者多行字符串。三种表示方式以下字符串类型第3页单引号字符串:单引号表示,能够使用双引号作为字符串一部分双引号字符串:双引号表示,能够使用单引号作为字符串一部分三引号字符串:三引号表示能够使用双引号字符串类型第4页打印字符串Python运行结果以下,注意其中引号部分:字符串类型第5页input()函数将用户输入内容看

2、成一个字符串类型,这是取得用户输入惯用方式。print()函数能够直接打印字符串,这是输出字符串惯用方式。以下例子展示了怎样用变量name来存放用户名字,再输出这个变量内容:字符串类型第6页第2.2.4节已经介绍,字符串包含两种序号体系:正向递增序号和反向递减序号。假如字符串长度为L,正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。这两种索引字符方法能够在一个表示中使用。字符串类型第7页Python字符串也提供区间访问方式,采取N:M格式,表示字符串中从N到M(不包含M)子字符串,其中,N和M为字符

3、串索引序号,能够混合使用正向递增序号和反向递减序号。假如表示中M或者N索引缺失,则表示字符串把开始或结束索引值设为默认值。字符串类型第8页字符串以Unicode编码存放,所以,字符串英文字符和汉字字符都算作1个字符。观察下面实例:字符串类型第9页反斜杠字符()是一个特殊字符,在字符串中表示“转义”,即该字符与后面相邻一个字符共同组成了新含义。比如:n表示换行、表示反斜、表示单引号、”表示双引号、t表示制表符(TAB)等。比如:字符串类型第10页Python提供了5个字符串基本操作符,如表3.10所表示。基本字符串操作符操作符操作符描述描述x+y连接两个字符串连接两个字符串x与与yx*n 或或

4、n*x复制复制n次字符串次字符串xx in s假如x是s子串,返回True,不然返回Falsestri索引,返回第索引,返回第i个字符个字符strN:M剪切,返回索引第N到M子串,其中不包含M第11页与操作符有关实比如下:字符串使用实例第12页程序读入一个表示星期几数字(1-7),输出对应星期字符串名称 比如:输入3,返回“星期三”。代码如下:运行结果如下:请输入星期数字(1-7):3 星期三微实例3.1:获取星期字符串第13页微实例3.1经过在字符串中截取适当子串来实现星期名称查找。问题关键在于找出子串剪切位置。因为每个星期日期缩写都由3个字符组成,假如知道星期日期字符串起始位置,就能很轻易

5、取得缩写子串。通过下面语句,能够取得从起始位置pos开始且长度为3子串:weekAbbrev=weekstrpos:pos+3字符串使用实例第14页使用字符串作为查找表缺点是,所剪切子字符串长度必须相同。假如各缩写表示长度不一样,还需要其它语句辅助比如,请读者思索,该怎样实现一个“获取月份字符串”呢?要求依据1-12数字返回月份名称。字符串使用实例第15页字符串中能够增加特殊格式化控制字符,用来输出特殊效果。特殊格式化控制字符使用反斜杠()开头,惯用控制字符以下:a:蜂鸣,响铃 b:回退,向后退一格f:换页 n:换行,光标移动到下行首行t:水平制表 r:回车,光标移动到本行首行v:垂直制表 0

6、:NULL,什么都不做特殊格式化控制字符第16页Python解释器提供了一些内置函数,详细请参考5.8节。其中,有6个函数与字符串处理相关,如表3.11所表示。内置字符串处理函数函数函数描述描述len(x)返回字符串x长度str(x)返回任意类型x所对应字符串形式chr(x)返回Unicode编码x对应单字符ord(x)返回单字符表示Unicode编码hex(x)返回整数x对应十六进制数小写形式字符串oct(x)返回整数x对应八进制数小写形式字符串第17页len(x)返回字符串x长度,Python 3以Unicode字符为计数基础,所以,字符串中英文字符和汉字字符都是1个长度单位str(x)返

7、回x字符串形式,其中,x能够是数字类型或其它类型内置字符串处理函数第18页每个字符在计算机中能够表示为一个数字,字符串则以数字序列方式存放在计算机中。当前,计算机系统使用一个主要编码是ASCII编码,该编码用数字0-127表示计算机键盘上常见字符以及一些被称为控制代码特殊值。比如,大写字母A-Z用65-90表示,小写字母a-z用97-122表示。内置字符串处理函数第19页chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换。chr(x)函数返回Unicode编码对应字符,其中,Unicode编码x取值范围是0到1,114,111(即十六进制数0 x10FFFF)。ord

8、(x)函数返回单字符x对应Unicode编码。以下:内置字符串处理函数第20页构想在一些情况下给朋友传递字条信息,但又不希望传递中途被第三方看懂这些信息,所以需要对字条信息进行加密处理。传统加密算法很多,这里介绍一个非常简单加密算法凯撒密码。顾名思义,凯撒密码是古罗马凯撒大帝用来对军事情报进行加密算法,它采取了替换方法对信息中每一个英文字符循环替换为该字符后面第三个字符,对应关系以下:原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B

9、 C微实例3.2:恺撒密码第21页假设用户可能使用信息仅包含小写字母a-z,则该微实例对应加密代码以下:微实例3.2:恺撒密码第22页原文字符P,其密文字符C满足以下条件:C=(P+3)mod 26解密方法反之,满足:P=(C 3)mod 26微实例3.2:恺撒密码第23页假设用户可能使用信息仅包含小写字母a-z,则该微实例对应加密代码以下:微实例3.2:恺撒密码第24页微实例运行结果以下:微实例3.2:恺撒密码第25页在Python解释器内部,全部数据类型都采取面向对象方式实现,封装为一个类。字符串也是一个类,它含有类似.b()形式字符串处理函数。在面向对象字典里,这类函数被称为“方法”。字

10、符串类型共包含43个内置方法。鉴于部分内置方法并不惯用,限于篇幅,这里仅介绍15个惯用内置方法,如表3.12所表示。内置字符串处理方法第26页内置字符串处理方法函数函数描述描述str.lower()返回字符串str副本,全部字符小写str.upper()返回字符串str副本,全部字符大写str.islower()当str全部字符都是小写时,返回True,不然Falsestr.isprintable()当str全部字符都是可打印,返回True,不然Falsestr.isnumeric()当str全部字符都是字符时,返回True,不然Falsestr.isspace()当str全部字符都是空格,返

11、回True,不然Falsestr.endswith(suffix,start,end)strstart:end 以suffix结尾返回True,不然返回Falsestr.startswith(prefix,start,end)strstart:end 以suffix开始返回True,不然返回Falsestr.split(sep=None,maxsplit=-1)返回一个列表,由str依据sep被分割部分组成str.count(sub,start,end)返回strstart:end中sub子串出现次数第27页内置字符串处理方法str.replace(old,new,count)返回字符串str

12、副本,全部old子串被替换为new,假如count给出,则前count次old出现被替换str.center(width,fillchar)字符串居中函数,详见函数定义字符串居中函数,详见函数定义str.strip(chars)返回字符串str副本,左侧和右侧去掉在chars中列出字符str.zfill(width)返回字符串str副本,长度为width,不足部分在左侧添0 str.format()返回字符串str一个排版格式,3.6节将详细介绍str.join(iterable)返回一个新字符串,由组合数据类型(见第6章)iterable变量每个元素组成,元素间用str分割第28页str.s

13、plit(sep=None,maxsplit=-1)方法返回一个列表,列表是一个存放多个数据数据类型,第6.2节将详细介绍,其中,分割str标识符是sep,默认分隔符为空格。假如给出maxsplit参数,则只分割前maxsplit个字符,默认maxsplit参数能够不给出。str.center(width,fillchar)方法返回长度为width字符串,其中,str处于新字符串中心位置,两侧新增字符采取fillchar填充,当width小于字符串长度时,返回str。内置字符串处理方法第29页str.zfill(width)方法返回长度为width字符串,假如字符串长度不足width时,在左侧

14、添加字符“0”,但假如str最左侧是字符“+“或者”-”,则从第二个字符左侧添加“0”,当width小于字符串长度时,返回str内置字符串处理方法第30页字符串类型格式化第31页为何会有字符串类型格式化问题呢?比如,一个程序希望输出以下内容:“-12-31:计算机PYTHONCPU占用率为10%。”其中,下划线内容可能会改变,需要由特定函数运算结果进行填充,最终形成上述格式字符串作为输出结果。字符串格式化用于处理字符串和变量同时输出时格式安排。format()方法基本使用第32页字符串format()方法基本使用格式是:.format()由一系列槽组成,用来控制修改字符串中嵌入值出现位置,其基

15、本思想是将format()方法中参数按照序号关系替换到槽中。槽用大括号()表示,假如大括号中没有序号,则按照出现次序替换format()方法基本使用第33页如图3.2所表示。假如大括号中指定了使用参数序号,按照序号对应参数替换,如图3.3所表示。调用format()方法后会返回一个新字符串,参数从0开始编号。format()方法基本使用第34页format()方法基本使用第35页format()方法能够非常方便地连接不一样类型变量或内容,假如需要输出大括号,采取表示,表示,比如:format()方法基本使用第36页format()方法中槽除了包含参数序号,还能够包含格式控制信息。此时,槽内部样

16、式以下::其中,用来控制参数显示时格式,格式内容如图3.4所表示。format()方法格式控制第37页format()方法格式控制第38页包含:,6个字段,这些字段都是可选,能够组合使用,这里按照使用方式逐一介绍、和是3个相关字段。指当前槽设定输出字符宽度,假如该槽对应format()参数长度比设定值大,则使用参数实际长度。假如该值实际位数小于指定宽度,则位数将被默认以空格字符补充。format()方法格式控制第39页指参数在内输出时对齐方式,分别使用和三个符号表示左对齐、右对齐和居中对齐。指内除了参数外字符采取什么方式表示,默认采取空格,能够经过更换。format()方法格式控制第40页fo

17、rmat()方法格式控制第41页表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出有效位数。对于字符串,精度表示输出最大长度format()方法格式控制第42页表示输出整数和浮点数类型格式规则。b:输出整数二进制方式;c:输出整数对应Unicode字符;d:输出整数十进制方式;o:输出整数八进制方式;x:输出整数小写十六进制方式;X:输出整数大写十六进制方式;format()方法格式控制第43页对于浮点数类型,输出格式包含4种:e:输出浮点数对应小写字母e指数形式;E:输出浮点数对应大写字母E指数形式;f:输出浮点数标准浮点形式;%:输出浮点数百分形式。浮点数输出时尽可能使用表

18、示小数部分宽度,有利于更加好控制输出格式。format()方法格式控制第44页文本进度条第45页进度条是计算机处理任务或执行软件中增强用户体验主要伎俩,它能够实时显示任务或软件执行进度,十分惯用。本节将利用Python字符串处理方法实现文本进度条功效。最简单,利用print()函数实现简单非刷新文本进度条。基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包含进度百分比,代表已完成部分(*)和未完成部分(.)两种字符,以及一个跟随完成度前进小箭头简单开始第46页%10*-.简单开始第47页因为程序执行速度远超出人眼视觉停留时间,直接进行字符输出几乎是

19、瞬间完成,不利于观察。为了模拟任务处理时间效果,调用Python标按时间库time,使用time.sleep(t)函数将当前途序暂时挂起t秒,t能够是小数。由此能够靠近真实模拟进度条效果输出。简单开始第48页默认情况下,print()函数在输出结尾处会自动产生一个n,即换行符,从而让光标自动移动到下一行行首,这么上一步输出依旧保留在界面上。采取for循环和print()函数组成程序主体部分,输出百分比最高为3位数据,为了使输出显得整齐,能够使用:3.0f格式化百分比部分。这个简单文本进度条代码以下。变量scale表示输出进度条精度,读者能够修改这个值观察效果。简单开始第49页简单开始第50页简

20、单开始第51页惯用计算机系统中都有进度条,这些进度条普通只在一行中改变进度百分比,与实例代码4.1不一样。简单说,这个不一样在于原地输出和动态刷新,其基本思想是将每一次进度输出都固定在同一行,并不停地用新生成字符串覆盖之前输出,形成进度条不停刷新动态效果。这种效果简称为“单行动态刷新”,能够经过print()函数实现。单行动态刷新第52页采取print()函数详细方法是:在print()函数中更换参数end默认值为,即每次使用prin()函数输出时不换行。此时,系统输出指针还停留在上一次输出行尾,下一次输出在字符串前部增加转义符r,该转义符把输出指针移动到行首而不换行。动态刷新一个百分比完整代

21、码以下:带刷新文本进度条第53页单行动态刷新第54页上述程序在IDLE中执行效果如图,为何输出没有单行刷新呢?这是因为IDLE本身屏蔽了单行刷新功效,假如希望取得刷新效果,请使用控制台命令行执行e4.2TextProgressBar.py程序。以Windows系统为例,开启命令行工具(system32cmd.exe),选择到e4.2TextProgressBar.py文件所在目录执行::python e4.2TextProgressBar.py单行动态刷新第55页将前两小节程序合并起来,再添上开始和结束提醒语,就能够很好实现带刷新文本进度条。为了深入提升用户体验,在文本进度条中增加进程运行时间

22、监控,这里采取time库中time.clock()函数。time.clock()函数普通屡次出现,第一次调用时计时开始,同一程序中第二次及后续调用时返回与第一次计时之间时间差,单位为秒。该函数主要用来统计程序运行时间,增加用户体验。文本进度条完整代码以下。带刷新文本进度条第56页带刷新文本进度条第57页LinerConstantf(x)=xEarly PauseSpeeds upf(x)=x+(1-sin(x*2+/2)/-8Late PauseSlows downf(x)=x+(1-sin(x*2+/2)/8Slow WavyConstantf(x)=x+sin(x*5)/20Fast Wa

23、vyConstantf(x)=x+sin(x*20)/80PowerSpeeds upf(x)=(x+(1-x)*0.03)2Inverse PowerSlows downf(x)=1+(1-x)1.5*-1Fast PowerSpeeds upf(x)=(x+(1-x)/2)8Inv.Fast PowerSlows downf(x)=1+(1-x)3*-1五花八门进度条设计函数第58页从本章开始进入Python语言深入介绍。首先介绍了计算机中惯用数字类型及操作,包含Python内置数值运算操作和数字类型转换,深入介绍了惯用数学计算标准库math库。采取数学计算将含糊好好学习,天天向上数据化,展示了连续性学习强大力量。本章同时介绍了字符串类型及其操作和格式化方法,并经过字符串格式化实现控制台格调文本进度条。本章小结第59页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服