字符串是字符的序列表示,可以由一对单引号(‘)、双引号(“)或三引号
(‘“)构成。其中单引号和双引号都可以表示单行字符串,两者作用相同。使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分。三引号可以表示单行或多行字符串。三种表示方法如下:
单引号字符串:‘单引号表示,可以使用“双引号”作为字符串的一部分’
双引号字符串:“双引号表示,可以使用’单引号’作为字符串的一部分”
三引号字符串:‘“三引号表示可以使用“双引号”、‘单引号’、也可以使用
换行”’
input()函数将用户输入的内容当作一个字符串类型,这是获得用户输入的
常用方式。print()函数可以直接打印字符串,这是输出字符串的常用方式。
回顾2.2.4节内容,字符串包括两种序号体系:正向递增序号和反向递减序号。如果字符串长度为L,正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧的字符序号为-L。
Python字符串也提供区间访问方式,采用[N:M]格式,表示字符串中从N到M(不包含M)的子字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中M或者N索引缺失,则表示字符串把开始或结束索引值设为默认值。
字符串以Unicode编码存储,因此,字符串的英文字符和中文字符都算作1个字符。
反斜杠字符(\)是一个特殊字符,在字符串中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。例如,\n表示换行、\\表示反斜杠、\’表示单引号、\”表示双引号、\t表示制表符(Tab)等。
关于基本的字符串操作符
Python提供了5个字符串的基本操作符,如下表所示:
举例说明,下面编写一个程序,程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如输入3,返回“星期三”,代码如下:
weekstr = "星期一星期二星期三星期四星期五星期六星期日"
weekid = eval(input("请输入星期数字(1-7): "))
pos = (weekid - 1)*3
print(weekstr[pos: pos+3])
使用字符串作为查找表的缺点是,所剪切的子字符串长度必须相同。如果各缩写表示长度不同,还需要其他语句辅助。字符串中可以增加特殊的格式化控制字符,用来输出特殊效果。特殊的格式化控制字符使用反斜杠(\)开头,常用控制字符如下:
\a:蜂鸣,响铃。
\b:回退,向后退一格。
\f:换页。
\n:换行,光标移动到下行首行。
\r:回车,光标移动到本行首行。
\t:水平制表。
\v:垂直制表。
\0:NULL,什么都不做。
关于Python内置的字符串处理函数
Python解释器提供了6个与字符串处理有关的函数,如下表所示:
每个字符在计算机中可以表示为一个数字,称为编码。字符串则以编码序列
方式存储在计算机中。目前,计算机系统使用的一个重要编码是ASCII编码,该编码用数字0-127表示计算机键盘上的常见字符以及一些被称为控制代码的特殊值。例如,大写字母A-Z用65-90表示,小写字母a-z用97-122表示。