所谓的字符串(string)数据是指 两个单引号 (')之间 或 是 两个双引号 (")之间任意个数字元符号的数据,它的数据类型代号是str。在英文字符串的使用中常会发生某字中间有单引号,其实这是文字的一部分,如下所示:
This is James’s ball
如果我们用单引号去处理上述字符串将产生错误,如下所示:
碰到这种情况,我们可以用双引号解决,如下所示:
程序实例ch3_14.py: 使用单引号与双引号设定与输出字符串数据的应用。
执行结果
数学的运算符“+”,可以执行两个字符串相加,产生新的字符串。
程序实例ch3_15.py: 字符串连接的应用。
执行结果
程序设计时如果字符串长度多于一行,可以使用三个单引号(或是三个双引号)将字符串包夹。
另外须留意,如果字符串多于一行,我们常常会按Enter键,造成字符串间多了换行符。如果要避免这种现象,可以在行末端增加“\”符号,这样可以避免字符串内增加换行符。
另外,也可以使用双引号定义字符串,但是在定义时须在行末端增加“\”(可参考下列程序8和9行),或是使用小括号定义字符串(可参考下列程序11和12行)。
程序实例ch3_16.py: 使用三个单引号处理多于一行的字符串,str1的字符串内增加了换行符,str2字符串是连续的,没有换行符。
执行结果
此外,读者可以留意第2行Silicon左边的3个单引号和第3行末端的3个单引号。另外,上述第2行若是少了“str1=”,3个单引号间的跨行字符串就变成了程序的注释。
上述第8行和第9行看似2个字符串,但是第8行增加“\”字符,换行功能会失效,所以这2行会被连接成1行,所以可以获得一个字符串。最后第11和12行小括号内的语句会被视为1行,所以第11和12行也将建立一个字符串。
在字符串使用中,如果字符串内有一些特殊字符,如单引号、双引号等,必须在此特殊字符前加上“\”(反斜杠),才可正常使用,这种含有“\”符号的字符称 逸出字符 (Escape Character)。
字符串使用中特别是碰到字符串含有单引号时,如果是使用单引号定义这个字符串时,必须要使用此 逸出字符 ,才可以顺利显示,可参考ch3_17.py的第3行。如果是使用双引号定义字符串则可以不必使用 逸出字符 ,可参考ch3_17.py的第6行。
程序实例ch3_17.py: 逸出字符的应用,这个程序第9增加“\t”字符,所以“can’t”跳到下一个Tab键位置输出。同时有“\n”字符,所以“loving”跳到下一行输出。
执行结果
str( )函数有好几个用法:
设定空字符串。
设定字符串。
强制将数值数据转换为字符串数据。
程序实例ch3_18.py: 使用str( )函数将数值数据强制转换为字符串的应用。
执行结果
上述字符串相加,读者可以想成字符串连接执行结果是一个字符串,所以上述执行结果555是数值数据,222333则是一个字符串。
int()函数可以将字符串转为整数。在未来的程序设计中也常会发生将字符串转换为整数数据,下面将直接以实例做说明。
程序实例ch3_19.py: 将字符串数据转换为整数数据的应用。
执行结果
上述执行结果55是数值数据,2233则是一个字符串。
Python可以允许将字符串与整数相乘,结果是字符串将重复该整数的次数。
程序实例ch3_20.py: 字符串与整数相乘的应用。
执行结果
有时设计程序时,想将字符串分行输出,可以使用字符串加法功能,在加法过程中加上换行字符“\n”即可产生字符串分行输出的结果。
程序实例ch3_21.py: 将数据分行输出的应用。
执行结果
在使用Python时,如果在字符串前加上r,可以防止逸出字符被转译,可参考3-4-3节的逸出字符表,相当于取消逸出字符的功能。
程序实例ch3_22.py: 字符串前加上r的应用。
执行结果