1、第三章 数据表示和计算,1,3.3 文本数据的表示和操作,3.3.1 文本的表示 3.3.2 字符串类型数据的基本计算 3.3.3 字符串(str)对象的方法,2,3.3.1 文本的表示,1. 字符 2. 字符串常量 3. 字符串变量,3,1. 字符,计算机中表示文本的最基本的单位是字符,包括可打印字符和不可打印的控制字符. 可打印字符包括:英文的大小写字母az,AZ数字字符09 标点符号和一些键盘上的常见符号 不可打印的控制字符,4,表3-3-1 Python的转义字符,5,2. 字符串常量,字符串可以使用双引号或单引号封装,但前后必须一致。【例3-3-1】字符串常量表示 “hello“和h
2、ello表示的都是字符串hello, “hello“ hello hello hello 如果字符串本身要带引号可以也可采用三个引号前后封装,例如 “hello“ hello hello hello,6,【例3-3-1】字符串常量表示(续),Python还支持只有引号的空字符串。 “ Python同样支持以“”为前缀的转移字符,例如使用转义字符“n”可以在输出时使字符串换行。 print (“hello everyonentoday is a great day!“) hello everyone today is a great day!,7,3. 字符串变量,字符串同样也可以使用字符串变量
3、来操作。 字符串变量的实质是一个指向字符串对象的标示符。,8,【例3-3-2】字符串变量示例, s=“hello“ print(s) hello,9,【例3-3-3】字符串对象标识示例,#通过赋值语句生成两个字符串变量a和b: a=“shanghai“ b=“china“ #使用内置函数id(对象)可以得到对象ID id(a) 35546720 id(b) 35467616 #执行赋值语句a=b后,a指向b所指向的字符串对象3546761。 a=b id(a) 35467616 # a原来指向的字符串对象35546720的存储单元通过系统的垃圾回收机制由内存回收。,10,3.3.2 字符串类型
4、数据的基本计算,1. 连接和复制操作 2. 索引操作 3. 子串测试操作,11,1. 连接和复制操作,使用运算+联接两个字符串,【例3-3-4】联接运算示例 shang+hai shanghai,运算*可以生成重复字符串,【例3-3-5】复制运算示例字符串*整数 “hi “*5 hi hi hi hi hi s=“hi“ t=s*3 print(t) hihihi,12,2. 索引操作,使用方括号来获取字符串中指定的某个字符,用法是: 【例3-3-6】字符串索引示例 “Student“5 n s=“hello python!“ s0 h i=10 si+1 n s-1 !,13,【例3-3-7
5、】字符串修改错误示例, s5=i Traceback (most recent call last):File “, line 1, in s5=i TypeError: str object does not support item assignment 出错提示给出类型错误:str对象不支持对其成员赋值。,14,获取字符串的子串, start:end 【例3-3-8】子串索引示例 s0:2 he s2:4 ll s:2 # 前面的两个字符 He s2: # 除了开始2个字符的所有字符 llo python,15,3. 子串测试操作,子串测试操作in可以测试一个子串是否存在于一个字符串中,
6、计算返回布尔值,用法为:in 【例3-3-9】子串测试操作示例 py in s True t=the t in s False,16,3.3.3 str对象的方法,str对象方法的调用形式为: .方法名(),17,使用上下光标键可以选择所需的方法,表3-3-2 str对象的常用方法,18,【例3-3-10】str对象方法示例, s.find(he) #求子串he第一次出现的位置 1 s.count(h) #求h出现的次数 2 同样,使用str类的方法同样不能改变字符串对象的值,例如调用strip函数去除字符串的前后空格,它的作用是返回一个去除了原字符串的前后空格的新串。 s= hello python t=s.strip() s hello python t hello python,19,