当前位置:文档之家› Python电子教案3-2 基本数据类型

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

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