Python字符串中字符的个数可以为0个、1个或多个。
例如:””、”A”、”python”。
如果想知道一个字符串有多少个字符,即获取字符串的长度,可以使用内置函数len()。
len()函数的基本语法格式如下:length = len(string)
其中,string用于指定要进行长度统计的字符串。
length表示一个变量,内容是字符串string的长度
例如:
以下程序输出变量str1所表示的字符串的长度:
str1 = "Hello World"
length = len(str1)
print(length) #或者 print(len(str1))
输出
11
对中文字符也可以进行统计,例如:
str2 = "学而时习之,不亦说乎?"
print(len(str2))
输出
11
字符串的索引,可以理解为字符在字符串中的顺序。
字符串中的每一个字符都对应一个唯一的索引。
注:字符串中的索引是从0开始的,故第1个字符的索引是0。
下表是字符串”Hello World”及其索引。
string[index] ,其中string是字符串或字符串变量,index是索引。
索引需要放在一个中括号 [] 里。
例如:
以下程序输出变量str1中指定索引的字符内容:
str1 = "Hello World"
print('第1个字符为:', str1[0])
print('第2个字符为:', str1[1])
print('第6个字符为:', str1[5])
输出
第1个字符为: H
第2个字符为: e
第6个字符为:
通过调试的方式,执行以下程序,体会字符索引访问的功能:
#打印字符串str1 = "dashima"的所有字符,每个字符占1行。
str1 = "dashima"
i = 0
while i < len(str1):
print(str1[i])
i += 1
输出
d
a
s
h
i
m
a
如果需要访问字符串中的一段字符,则需要对字符串进行截取。
字符串的截取,可以理解为只访问字符串的子集。
比如:
对于以下字符串str1,只要保留子曰:”学而时习之,不亦说乎?” 这一部分,其余部分全部去掉。
str1 = ‘子曰:”学而时习之,不亦说乎?”翻译为中文的结果是:The Master said, “Is it not a pleasure, having learned something, to try it out at due intervals?”‘
使用之前学过的知识来解决上述问题,程序如下:
str1 = '子曰:"学而时习之,不亦说乎?"翻译为中文的结果是:The Master said, "Is it not a pleasure, having learned something, to try it out at due intervals?"'
i = 0
str2 = ''
while i < 16:
str2 = str2 + str1[i]
i+= 1
print(str2)
输出
子曰:"学而时习之,不亦说乎?"
如果使用中括号和冒号进行字符串截取的方法,格式如下:
result = string[start:end:step]
用这个方法来解决上述问题,程序如下:
str1 = '子曰:"学而时习之,不亦说乎?"翻译为中文的结果是:The Master said, "Is it not a pleasure, having learned something, to try it out at due intervals?"'
str2 = str1[0:16]
print(str2)
输出
子曰:"学而时习之,不亦说乎?"
用字符串截取的方法截取奇数索引的字符,程序如下:
str1 = '123456789'
str2 = str1[1:len(str1):2] #或者 str2 = str1[1::2]
print(str2)
输出
2468
用字符串截取的方法截取偶数索引的字符,程序如下:
str1 = '123456789'
str2 = str1[0:len(str1):2] #或者 str2 = str1[::2]
print(str2)
输出
13579
所谓转义,可以理解为”采用某些方式暂时取消该字符本来的含义”。
这里的”某种方式”指的就是在指定字符前添加反斜杠 \,以此来表示对该字符进行转义。
转义字符经常被用于在字符串中插入特殊字符。
功能:将一行代码切分成多行:
a=1+2+\
3+4+\
5+6
print(a)
输出
21
功能:在字符串中插入反斜杠 \
print('I need to print \\')
输出
I need to print \
功能:在字符串中插入英文单引号 ‘
print('print \' here')
输出
print ' here
功能:在字符串中插入英文双引号 ”
print('print \" here')
输出
print '' here
注:如果在字符串中插入中文单或双引号,不需要加转义字符
功能:执行后电脑会有响声
print('\a')
功能:右边字符向左退一格
print('A \bB')
输出
AB
功能:执行后,右边的字符会换到下一行
print('A \nB')
输出
A
B
功能:执行后,将\r后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将\r后面的内容完全替换完成。
print('A \rB')
输出
B
功能:执行后,右边的字符会移动一个制表符
print('A \tB')
输出
A B
多行注释可以使用三个引号(单双引号皆可)来表示。
可以将多行注释作为字符串赋值给变量,此种字符串称为长字符串。
注:长字符串中的单引号或双引号无需任何转义。
比如:以下字符串str1为长字符串,字符串里的单引号或双引号无需任何转义。
str1 = """
I'm a coder.
She said, "I like running."
小明问妈妈:“妈妈,‘朴素’是什么意思啊?”
"""
print(str1)
输出
I'm a coder.
She said, "I like running."
小明问妈妈:“妈妈,‘朴素’是什么意思啊?”