由字符组成的一串字符序列称为“字符串”,字符串是有顺序的,从左到右,索引从“0”开始依次递增。Python中的字符串类型是str。
Python中字符串的表示方式有以下3种。
普通字符串:采用单引号“'”或双引号“"”包裹起来的字符串。
原始字符串(rawstring):在普通字符串前加“r”,字符串中的特殊字符不需要转义,按照字符串的本来“面目”呈现。
长字符串:字符串中包含了换行缩进等排版字符,可以使用三重单引号“'''”或三重双引号“"""”包裹起来,这就是长字符串。
很多程序员习惯使用单引号“'”表示字符串。下面示例代码中表示的都是“Hello World”字符串。
Python中的字符采用Unicode编码,所以字符串中可以包含中文等亚洲字符。
如果想在字符串中包含一些特殊的字符,例如换行符、制表符等,在普通字符串中则需要转义,前面要加上反斜杠“\”,这称为字符转义。表1-6所示的是常用的几个转义符。
表1-6 转义符
示例代码如下。
示例代码运行后,输出结果如下。
代码解释如下。
代码第①行是原始字符串,就是在字符串前面加字母r。其中的特殊字符串代码第②行是长字符串的表示方式,其中包含了换行缩进等排版字符。
在实际的编程过程中,经常会遇到将其他类型变量与字符串拼接到一起并进行格式化输出的情况,例如计算的金额需要保留小数点后四位、数字需要右对齐等。字符串格式化时可以使用字符串的format函数及占位符实现。
示例代码如下。
示例代码运行后,输出结果如下。
代码解释如下。
代码第①②行使用format函数格式化字符串,在运行时format函数中的参数会替换占位符{}。
代码第①行“{0}”是采用索引形式的占位符,中括号中的数字表示format函数中的参数索引。所以“{0}”表示使用format函数中的第一个参数替换占位符。“1”表示第2个参数,以此类推。
代码第②行“{n}”是采用参数名形式的占位符,中括号中的“n”和“a”都是format函数中的参数名字。