1、3.1 字符串字符串?字符串是由零个或多个字符组成的有限序列。为了区分字符串与其他的标识符,字符串一般采用单引号、双引号或三引号加以界定。例:s=hello,lily s=hello,lily s=hello,lily字符串的特性1.字符串中所包含的字符个数称为字符串的长度,其中空格和标点符号各占一个长度。例:s=I love China!print(len(s)输出为:132.字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,常见的字符集有ASCII字符集、GB2312字符集、G
2、BK字符集、BIG5字符集、GB18030字符集、Unicode字符集等。其中,UTF-8编码是国际通用的编码,以1字节表示英语字符(兼容ASCII),以3字节表示常见汉字,对全世界所有国家需要用到的字符都进行了编码。一个字符串中可以包含多种字符集字符。Python3.x完全支持中文,无论是一个数字、英文字符、标点或空格,还是一个汉字,都按一个字符对待和处理。3.空串是不包含任何字符的串,其长度为0;空格串是由空格组成的字符串,其长度为空格字符的个数。4.有限序列性:字符串是一种线性表结构,它的数据元素个数是有限的,只能由零个或多个字符组成;可以用元素在字符串中的相对位置作为标号来访问每个元素
3、。例:s=I love china!print(s3)输出为:o5.字符串的可比性:可以对字符串进行比较,若字符串中的字符均来自ASCII字符集,则从左到右,依次按ASCII码值进行比较;对于含有非ASCII字符集的字符串,需要根据编码的方式进行比较。例:like10字符串的基本操作1.创建字符串 只要为变量分配一个用字符串界定符括起来的字符序列即可创建一个字符串。例如:a=“”b=“Im 16.”c=我爱你,中国!分别创建了3个字符串a、b、c,其长度分别为0、7、8。2.Python格式化字符串f-string f-string是python3.6新引入的一种字符串格式化方法,主要目的是使
4、格式化字符串的操作更加简便,用来代替传统的%-formatting语句和str.format()函数。f-string在形式上是以f或F修饰符引领的字符串(fxxx或Fxxx),以大括号标明被替换的字段,其本质上并不是字符串常量,而是一个运行时求值的表达式。例如:r=8.6 print(f半径为r米的圆的面积为3.14*r*r:2f平方米)输出:半径为8.6米的圆的面积为232.23平方米3.子串判断 子串判断用于检查字符串a是否为字符串s的子串。在python中使用成员运算符in来实现,格式为:a in s,如果字符串s中包含字符串a,返回True,否则返回False。在python中也可以
5、使用for循环语句,逐个枚举字符串中的字符。例如,逐个判断字符串a中的字符是否为b的字符,代码如下:a=“hello world”b=“I love Python”for ch in a:if ch in b:print(ch,end=“”)输出:hello ol Python字符串提供了find()方法检测字符串中是否包含子字符串str。其语法格式为:string.find(str,beg=0,end=Len(string),其中str为指定检索的字符串,beg和end分别表示开始和结束索引。如果string包含str,则返回开始的索引值,否则返回-1。例:s=“Hello!”s1=“llo
6、”print(s.find(s1)输出:2Python字符串还提供了index()方法,其功能和语法结构均与find()方法一样,不同之处在于若str不在string中会报一个异常。4.求子串求子串用于从字符串中取出其子串。在Python中,可以用切片实现,格式为:字符串变量头下标:尾下标,遵循左闭右开原则,例如,s0:2是不包含第3个字符s2的。5.字符串的连接 字符串的连接用于把两个字符串连接在一起。在python中,用”+”号连接符实现,格式为:字符串s1+字符串s2。python字符串提供了join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。其语法格式为:string
7、.join(sequence),其中sequence为要连接的元素序列,返回通过指定字符连接序列中的元素后生成的新字符串。例:a=.join(一寸光阴一寸金)print(a)输出为:一.寸.光.阴.一.寸.金Python字符串常用函数和方法练一练1.有如下python程序段:for ch in“I have a dream”:if ch not in”aoeiu”:continue print(ch,end=“”)则程序执行后,输出的结果是A.无输出 B.I have a dreamC.I hv drm D.aeaeaDD2.下列python字符串不合法的是:A.”I love python”B.I“love”pythonC.I love python D.I lovepython”DD3.已知字符串s=“A B C D”,则执行语句s=.join(s.split()”后,字符串s的长度为:A.9B.8C.7D.4D谢 谢