Python电子教案3-2 基本数据类型ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内置的字符串处理函数
• chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换。 chr(x)函数返回Unicode编码对应的字符,其中,Unicode编码x的取 值范围是0到1,114,111(即十六进制数0x10FFFF)。ord(x)函数返回 单字符x对应的Unicode编码。如下:
format()方法的基本使用
• 字符串format()方法的基本使用格式是: • <模板字符串>.format(<逗号分隔的参数>) • <模板字符串>由一系列的槽组成,用来控制修改字符串中嵌入值出 现的位置,其基本思想是将format()方法的<逗号分隔的参数>中的参 数按照序号关系替换到<模板字符串>的槽中。槽用大括号({})表示,如 果大括号中没有序号,则按照出现顺序替换
微实例3.2:恺撒密码
• 假设用户可能使用的信息仅包括小写字母a-z,则该微实例对应的加 密代码如下:
微实例3.2:恺撒密码
• 原文字符P,其密文字符C满足如下条件: • C = ( P + 3 ) mod 26 • 解密方法反之,满足: • P = ( C – 3 ) mod 26
微实例3.2:恺撒密码
str.zfill(width)
返回字符串str的副本,长度为width,不足部分在左侧添0
str.format()
返回字符串str的一种排版格式,3.6节将详细介绍
str.join(iterable)
返回一个新字符串,由组合数据类型(见第6章)iterable变量 的每个元素组成,元素间用str分割
end]])
str.split(sep=None, maxsplit=-1) 返回一个列表,由str根据sep被分割的部分构成
str.count(sub[,start[,end]]) 返回str[start: end]中sub子串出现的次数
内置的字符串处理方法
str.replace(old, new[,
操作符
描述
x+y
连接两个字符串x与y
x*n或n*x
复制n次字符串x
x in s
如果x是s的子串,返回True,否则返回False
str[i]
索引,返回第i个字符
str[N: M]
剪切,返回索引第N到M的子串,其中不包含M
字符串使用实例
• 与操作符有关的实例如下:
微实例3.1:获取星期字符串
• 程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称 例如:输入3,返回“星期三”。代码如下:
字符串类型
• 单引号字符串: '单引号表示,可以使用"双引号"作为字符串的一 部分' • 双引号字符串: "双引号表示,可以使用'单引号'作为字符串的 一部分" • 三引号字符串: '''三引号表示可以使用"双引号"
字符串类型
• 打印字符串的Python运行结果如下,注意其中的引号部分:
字符串类型
• 运行结果如下:请输入星期数字(1-7): 3 星期三
字符串使用实例
• 微实例3.1通过在字符串中截取适当的子串来实现星期名称的查找。 问题的关键在于找出子串的剪切位置。因为每个星期日期的缩写都由 3个字符组成,如果知道星期日期字符串的起始位置,就能很容易获 得缩写子串。 • 通过下面语句,可以获得从起始位置pos开始且长度为3的子串:
微实例3.2:恺撒密码
• 设想在某些情况下给朋友传递字条信息,但又不希望传递中途被第 三方看懂这些信息,因此需要对字条信息进行加密处理。传统加密算 法很多,这里介绍一种非常简单的加密算法——凯撒密码。顾名思义 ,凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采 用了替换方法对信息中的每一个英文字符循环替换为该字符后面第三 个字符,对应关系如下: • 原文: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 C
返回整数x对应十六进制数的小写形式字符串
oct(x)
返回整数x对应八进制数的小写形式字符串
内置的字符串处理函数
• len(x)返回字符串x的长度,Python 3以Unicode字符为计数基础, 因此,字符串中英文字符和中文字符都是1个长度单位 • str(x)返回x的字符串形式,其中,x可以是数字类型或其他类型
内置的字符串处理方法
• str.zfill(width)方法返回长度为width的字符串,如果字符串长度不 足width时,在左侧添加字符“0”,但如果str最左侧是字符“+“或者”-” ,则从第二个字符左侧添加“0”,当width小于字符串长度时,返回str
字符串类型的格式化
31
format()方法的基本使用
• <格式控制标记>包括:<填充><对齐><宽度>,<.精度><类型>6个字段 ,这些字段都是可选的,可以组合使用,这里按照使用方式逐一介绍 • <填充>、<对齐>和<宽度>是3个相关字段。 • <宽度>指当前槽的设定输出字符宽度,如果该槽对应的format()参 数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位 数小于指定宽度,则位数将被默认以空格字符补充。
内置的字符串处理函数
• 每个字符在计算机中可以表示为一个数字,字符串则以数字序列的 方式存储在计算机中。目前,计算机系统使用的一个重要编码是 ASCII编码,该编码用数字0-127表示计算机键盘上常见的字符以及一 些被称为控制代码的特殊值。例如,大写字母A-Z用65-90表示,小写 字母a-z用97-122表示。
• 为什么会有字符串类型的格式化问题呢?例如,一个程序希望输出 如下内容:
“2016-12-31: 计算机PYTHON的CPU占用率为10%。” • 其中,下划线内容可能会变化,需要由特定函数运算结果进行填充 ,最终形成上述格式字符串作为输出结果。字符串格式化用于解决字 符串和变量同时输出时的格式安排。
返回字符串str的副本,所有old子串被替换为new,如果count
count])
给出,则前count次old出现被替换
str.center(width[, fillchar]) 字符串居中函数,详见函数定义
str.strip([chars])
返回字符串str的副本,左侧和右侧去掉在chars中列出字符
字符串类型
• Python字符串也提供区间访问方式,采用[N: M]格式,表示字符串 中从N到M(不包含M)的子字符串,其中,N和M为字符串的索引 序号,可以混合使用正向递增序号和反向递减序号。如果表示中M或 者N索引缺失,则表示字符串把开始或结束索引值设为默认值。
字符串类型
• 字符串以Unicode编码存储,因此,字符串的英文字符和中文字符 都算作1个字符。观察下面实例:
format()方法的基本使用
• 如图3.2所示。如果大括号中指定了使用参数的序号,按照序号对应 参数替换,如图3.3所示。调用format()方法后会返回一个新的字符串 ,参数从0开始编号。
format()方法的基本使用
format()方法的基本使用
• format()方法可以非常方便地连接不同类型的变量或内容,如果需 要输出大括号,采用{{表示},}}表示},例如:
str.isspace()
当str所有字符都是空格,返回True,否则False
str.endswith(suffix[,start[,end] str[start: end] 以suffix结尾返回True,否则返回False
])
str.startswith(prefix[, start[, str[start: end] 以suffix开始返回True,否则返回False
内置的字符串处理方法
函数 str.lower() str.upper() str.islower() str.isprintable() str. isnumeric()
描述 返回字符串str的副本,全部字符小写 返回字符串str的副本,全部字符大写 当str所有字符都是小写时,返回True,否则False 当str所有字符都是可打印的,返回True,否则False 当str所有字符都是字符时,返回True,否则False
• Python解释器提供了一些内置函数,详细请参考5.8节。其中,有6
个函数与字符串处理相关,如表3.11所示。
函数
描述
len(x)
返回字符串x的长度
str(x)
返回任意类型x所对应的字符串形式
chr(x)
返回Unicode编码x对应的单字符
ord(x)
返回单字符表示的Unicode编码
hex(x)
weekAbbrev = weekstr[pos: pos+3]
字符串使用实例
• 使用字符串作为查找表的缺点是,所剪切的子字符串长度必须相同 。如果各缩写表示长度不同,还需要其他语句辅助 • 例如,请读者思考,该如何实现一个“获取月份字符串”呢?要求 根据1-12的数字返回月份名称。
特殊的格式化控制字符
字符串类型
• 反斜杠字符(\)是一个特殊字符,在字符串中表示“转义”,即该 字符与后面相邻的一个字符共同组成了新的含义。例如:\n表示换行 、\\表示反斜、\’表示单引号、\”表示双引号、\t表示制表符(TAB )等。例如:
基本的字符串操作符
• Python提供了5个字符串的基本操作符,如表3.10所示。
format()方法的格式控制
• format()方法中<模板字符串>的槽除了包括参数序号,还可以包括 格式控制信息。此时,槽的内部样式如下:
{<参数序号>: <格式控制标记>} • 其中,<格式控制标记>用来控制参数显示时的格式,格式内容如图 3.4所示。
format()方法的格式控制
format()方法的格式控制
• 假设用户可能使用的信息仅包括小写字母a-z,则该微实例对应的加 密代码如下:
微实例3.2:恺撒密码
• 微实例运行结果如下:
内置的字符串处理方法
• 在Python解释器内部,所有数据类型都采用面向对象方式实现,封 装为一个类。字符串也是一个类,它具有类似<a>.b()形式的字符串处 理函数。在面向对象字典里,这类函数被称为“方法”。字符串类型 共包含43个内置方法。鉴于部分内置方法并不常用,限于篇幅,这里 仅介绍15个常用的内置方法,如表3.12所示。
第3章 基本数据类型
1ቤተ መጻሕፍቲ ባይዱ
字符串类型及其操作
2
字符串类型
• 字符串是字符的序列表示,可以由一对单引号(')、双引号(") 或三引号(''')构成,其中,单引号和双引号都可以表示单行字 符串,两者作用相同。使用单引号时,双引号可以作为字符串的一部 分;使用双引号时,单引号可以作为字符串的一部分。三引号可以表 示单行或者多行字符串。三种表示方式如下
• 字符串中可以增加特殊的格式化控制字符,用来输出特殊效果。特
殊的格式化控制字符使用反斜杠(\)开头,常用控制字符如下:
\a: 蜂鸣,响铃
\b:回退,向后退一格
\f:换页
\n:换行,光标移动到下行首行
\t:水平制表
\r:回车,光标移动到本行首行
\v:垂直制表
\0:NULL,什么都不做
内置的字符串处理函数
内置的字符串处理方法
• str.split(sep=None, maxsplit=-1)方法返回一个列表,列表是一种存 储多个数据的数据类型,第6.2节将详细介绍,其中,分割str的标识 符是sep,默认分隔符为空格。如果给出maxsplit参数,则只分割前 maxsplit个字符,默认maxsplit参数可以不给出。 • str.center(width[, fillchar])方法返回长度为width的字符串,其中, str处于新字符串中心位置,两侧新增字符采用fillchar填充,当width 小于字符串长度时,返回str。
• input()函数将用户输入的内容当作一个字符串类型,这是获得用户 输入的常用方式。print()函数可以直接打印字符串,这是输出字符串 的常用方式。如下例子展示了如何用变量name来存储用户的名字, 再输出这个变量的内容:
字符串类型
• 第2.2.4节已经介绍,字符串包括两种序号体系:正向递增序号和反 向递减序号。如果字符串长度为L,正向递增需要以最左侧字符序号 为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧 字符序号为-1,向左依次递减,最左侧字符序号为-L。这两种索引字 符的方法可以在一个表示中使用。
相关文档
最新文档