Logo

郎哥编程

Pyhton字符串类型

2018-09-29 954

本篇介绍Python中的字符串类型,文中会讨论字符串的声明、赋值及其相关运算。通过本篇的学习,可以达成如下目标。

● 掌握字符串的声明和赋值

● 掌握字符串的相关运算

计算机除了处理数值数据,还要处理字符数据。Python语言提供了一种字符串数据类型,用于字符数据。字符串是有限个字符的有序集合,在Pyhton语言中,单个字符也属于字符串。例如:”I want to learn Java programming”、”我要学Pyhton编程”、”3+5=8”、”abc”、”A”等等。

1、字符串的声明和赋值

字符串是 Python 中最常用的数据类型。可以使用单引号’’、双引号””、三引号’’’来创建字符串。声明字符串很简单,只要为变量分配一个字符串值即可。

例1:声明字符串

#声明字符串
str1 = 'Hello World!'
str2 = "Runoob"
str3 = "A"
print(str1,str2)

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串。

例2:访问字符串中的值

#访问字符串中的值
str1 = 'Hello World!'
str2 = "Runoob"
#访问第一个字符
print ("str1[0]: ", str1[0])

#截取下标1到下标5的字符串

print ("str2[1:5]: ", str2[1:5])

多个字符串可以拼接,也可以截取字符串的一部分并与其它字符串拼接。

例3:字符串的拼接

#字符串的拼接
var1 = 'Hello World!'
print ("已更新字符串 : ", var1[:6] + 'Runoob!')

例3运行结果:

已更新字符串 :  Hello Runoob!

2、 Python字符串运算符

Pyhton提供了方便灵活的字符串运算,下表列出了可以用于字符串运算的运算符。运算符如下表所示。表中实例中变量a的值为”Hello”,b的值为”Python”。

image.png

(1)连接运算符

连接运算符“+”用于连接两个字符串,也就是把两个字符串合并成一个新的字符串,与数值运算的“+”运算符有不同的意义。

例4:字符串的连接

#连接字符串示例
strOne = '我要学'
steTwo = 'Python编程'
#连接strOne和steTwo并输出
print(strOne+steTwo)

输出结果:

我要学Pyhton编程

(2)重复输出运算符

重复运算符“*”用于重复输出同一字符串i次,i由运算符后面的操作数指定。

例5:重复输出字符串

#重复输出字符串
strOne = '我要学'
strTwo = 'Python编程'
#重复输出strOne字符串3次
print(strOne*3)
#重复输出strOne字符串2次
print(strTwo*2)

输出结果:

我要学我要学我要学

Python编程Python编程

(3)访问运算符

访问运算符包括“[]”和“[:]”运算符,用于访问字符串序列中的单个字符,或者一个子串。

访问单个字符可以使用“[]”运算符,访问单个字符的语法如下:

str[index]

str是字符串的变量名称,index是想要访问的字符对应的偏移量,偏移量是正值,范围从0到字符串长度减1。

例6:访问字符串中的单个字符

#声明字符串
strOne = '我要学'
strTwo = 'Python编程'
#访问strOne第一个字符
print(strOne[0])
#访问strOne第二个字符
print(strOne[1])
#访问strOne第三个字符
print(strOne[2])

输出结果:

image.png

访问字符串中的一个子串可以用“[:]”运算符,“[:]”运算符语法如下:

str[start:end]

str是字符串的变量名称,start是起始索引,end是终止索引,该运算符访问包括start在内到end(不包括end)的所有字符。

例7:访问字符串中的子串

#声明字符串
str = '我要学Python编程'
#访问Python子串
print(str[3:9])
#访问我要学子串
print(str[0:4])
#访问编程子串
print(str[9:11])

输出结果:

image.png

(4)成员操作符

成员操作符“in”和“not in”用于判断一个字符或者一个子串是否出现或不出现在当前字符串中,出现返回True,否则返回False。

运算符“in”用于判断一个字符或者一个子串是否出现在当前字符串中。

例8:判断单个字符或子串是否出现在字符串中

#声明字符串
str = '我要学Python编程'
#判断字符‘学’是否在str中
print('学' in str)
#判断子串‘Python’是否在str中
print('Python' in str)
#判断子串‘Java’是否在str中
print('Java' in str)

输出结果:

image.png

运算符“not in”用于判断一个字符或者一个子串是否不出现在当前字符串中。

例9:判断单个字符或子串是否不出现在字符串中

#声明字符串
str = '我要学Python编程'
#判断字符‘习’是否不在str中
print('习' not in str)
#判断子串‘Java’是否在str中
print('Java' not in str)
#判断子串‘Python’是否在str中
print('Python' not in str)

输出结果:

image.png

(5)原始字符串操作符

原始字符串操作符“r/R”用于处理特殊字符的显示问题,一些特殊字符在字符串显示中会有特殊意义或被转义。例如,字符串’\r’在显示时会被转义为回车,’\n’会被转义为换行,但用“r/R”运算符修饰字符串后,’\r’和’\n’将不会被转义,而直接按照字面意思输出。“r/R”运算符语法如下:

r’\r\n’  或

R’\r\n’

例10:原始字符串操作符输出

#声明转义字符串
str = '\r\n'
#声明原始字符串
str1 = r'\r\n'
#输出str
print(str)
#输出str1
print(str1)

输出结果:

image.png

从输出结果可以看出,str输出时被转义为回车换行,str1因为被“r/R”运算符修饰,因此str1没有被转义,按照字面意思输出。

(6)格式化运算符

格式化运算符只适用于字符串类型,类似于C语言的printf()函数的字符串格式化,也是用百分号(%)。

常用格式说明符列表

%d        十进制整数

%f        十进制浮点数

%o        八进制数

%s        字符串

%x        十六进制数

例11:格式化字符串输出

#十六进制输出
a = "%x" % 108
print(a)
#浮点型输出,保留两位小数
b = "%.2f" % 68.980656
print(b)
#整型和字符串输出
print("长方形的面积=%d" % 100)
#输出szTemp,字符串前后分别填充2个*字符 
szTemp = 'a';
print("**%s**\n" % szTemp);
#输出浮点和字符串
dTemp =  129.6789603
print("%s:%.2f" % ("这是用print输出的数据" ,dTemp));

语句中的“%s:%.2f”是格式字符串,其中“%s”是格式说明符,表示输出字符串,字符串内容取自格式字符串后面的参数列表,“%.2f”也是格式说明符,表示输出浮点数,并且保留2位有效小数,更改“%.”后面的数字,可以限制不同的小数位数输出,浮点数数值取自格式字符串后面的参数列表。参数列表跟在格式字符串后面,格式字符串中有多少个格式说明符,后面就有多少个参数,每个参数之间用英文逗号分隔。因为格式字符串“%s:%.2f”有两个格式说明符,因此在格式字符串后面应有两个参数,参数顺序与格式字符串中的格式说明符顺序保持一致,参数"这是用printf输出的数据"对应格式说明符%s,参数“dTemp”对应格式说明符%.2f。

课程小结

课程讨论了字符串类型在Python语言中的使用及运算。在Python语言中,字符串的使用非常灵活,用单引号(')、双引号(”)、三引号(’’’)都可以声明一个字符串。在字符串运算上,Python语言提供了连接运算符,用于连接多个字符串;重复运算符,用于重复输出字符串内容;访问运算符,用于获取字符串中的单个字符和任意子串;成员运算符,用于判定字符或子串是否出现在字符串中;格式化运算符,用于字符串的格式化输出。


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论