【字符串的长度、索引、截取;转义字符和长字符串】——- PYTHON基础4

一、字符串的长度、索引、截取

1. 字符串的长度:len()函数

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

2. 字符串的索引:string[index]

字符串的索引,可以理解为字符在字符串中的顺序。
字符串中的每一个字符都对应一个唯一的索引。
注:字符串中的索引是从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

3. 字符串的截取:result = string[start:end:step]

如果需要访问字符串中的一段字符,则需要对字符串进行截取。
字符串的截取,可以理解为只访问字符串的子集。
比如:
对于以下字符串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]

  • string表示字符串或字符串变量。
  • start表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取。
  • end表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度。
  • step表示间隔或步长。指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引处的字符。step
    默认值为 1,当省略该值时,最后一个冒号也可以省略。
  • result为一个变量名,用来存储截取的结果。

用这个方法来解决上述问题,程序如下:

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

二、转义字符和长字符串

1. 字符串中的转义字符

所谓转义,可以理解为”采用某些方式暂时取消该字符本来的含义”。
这里的”某种方式”指的就是在指定字符前添加反斜杠 ,以此来表示对该字符进行转义。
转义字符经常被用于在字符串中插入特殊字符。

续行符:

功能:将一行代码切分成多行:

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

注:如果在字符串中插入中文单或双引号,不需要加转义字符

响铃: a

功能:执行后电脑会有响声

print('a')

退格: b

功能:右边字符向左退一格

print('A bB')

输出

AB

换行: n

功能:执行后,右边的字符会换到下一行

print('A nB')

输出

A 
B

回车: r

功能:执行后,将r后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将r后面的内容完全替换完成。

print('A rB')

输出

B

横向制表符: t

功能:执行后,右边的字符会移动一个制表符

print('A tB')

输出

A 	B

2. 长字符串

多行注释可以使用三个引号(单双引号皆可)来表示。
可以将多行注释作为字符串赋值给变量,此种字符串称为长字符串。
注:长字符串中的单引号或双引号无需任何转义。
比如:以下字符串str1为长字符串,字符串里的单引号或双引号无需任何转义。

str1 = """
I'm a coder.
She said, "I like running."
小明问妈妈:“妈妈,‘朴素’是什么意思啊?”
"""
print(str1)

输出

I'm a coder.
She said, "I like running."
小明问妈妈:“妈妈,‘朴素’是什么意思啊?”

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>