通俗来说,字符串就是由一串字符组成的内容。在Python中,字符串用成对的单引号或双引号引起来,用三个单引号或双引号可以使字符串内容保持原样输出,可以包含回车等特殊字符。在Python中,字符串是不可变对象。
顾名思义,转义就是转换含义。在Python中用反斜杠(\)来转义字符。转义字符如表2-1所示。
表2-1 转义字符
要使转义不生效,有下列两种方法:
(1)在字符串前面加“r”,可以使整个字符串原样输出,即不会被转义,例如:
print(r'hello world\t\n\b')
运行结果为:
hello world\t\n\b
(2)再加一个反斜杠,例如:
print('hello\\t\\n\\b world')
运行结果为:
hello\t\n\b world
调用len()函数可以查看字符串长度,例如:
print(len('hello world'))
运行结果为:
11
注意 字符串中的空格也占1个长度,中文、字母、数字、符号占1个长度,空字符串长度为0。每个转义字符都当作1个字符,故占1个长度,而不是看上去的2个,例如\t、\n。
通过加号连接字符串,例如:
print('hello' + ' ' + 'world')
运行结果为:
hello world
Python有两种索引方式:
string = 'python' print(string[0], string[5]) print(string[-1], string[-6])
运行结果为:
p n n p
如果下标索引越界了,则会报错,例如:
string = 'python' print(string[7])
运行结果为:
IndexError:string index out of range
切片就是取出字符串中的子字符串。切片最标准的写法是用2个冒号分隔3个数字,例如:
string[0:-1:2]
第1个数字表示切片的起始位置(若省略不写,则表示从第1个字符开始)。第2个数字表示切片的终止位置(切出的子字符串不包含这个字符,若省略不写,则表示以最后一个字符结尾且包含该字符)。第3个数字表示切片的步长(步长为1时,可省略不写第2个冒号及步长),例如string[0:-1]。
再看一个例子:
运行结果为:
Pytho Pytho Python Python Pto nohtyp
注意 切片越界,不会报错:
string = 'python' print('运行结果为:', string[7:])#注意结果为空 print('运行结果为:', string[:7])
运行结果为:
运行结果为: 运行结果为:python