介绍

字符串(String)是由数字、字母、符号、转义符组成的一串字符,它是编程语言中表示文本的数据类型。
一般格式如下:

str="a0a1···an"(n>=0)

字符串由 "" 或者 '' 包含元素,元素下标由0开始。
编程中,字符串的元素是可以被单独提取出来使用的,提取的方法有以下2中:

  • 从左到右索引:由下标0开始的,最大范围是字符串长度-1
  • 从右到左索引:由下标-1开始,一直到-n(n为字符串的首元素)

如果你要提取字符串中的某个元素或者某个连续区间的元素时,可以使用字符串名 [头下标:尾下标],格式来提取相应的字符串(元素),也可以省略下标,此时表示提取整个字符串。

创建字符串变量

实例如下:

#!/usr/bin/python3
#-*- coding:UTF-8 -*-

str = "Hello World"   # 定义(创建)一个字符串

print(str[0])  # 提取字符串首个元素
print(str[2:8])   # 提取字符串中3~9区间的元素
print(str[2:])  # 从第3个元素开始提取,直至最后一个元素
print(str[:8])  # 从第一位元素开始提取,直至第9个元素截止
print(str)  # 提取整个字符串

输出结果:

H
llo Wo
llo World
Hello Wo
Hello World

【解释】:以上使用了从左到右的索引方法
1)当缺省上/下标时,表示取字符串的所有元素
2)当缺省上标时,表示从字符串的首个元素开始提取,直至给定的下标位停止。
3)当缺省下标时,表示从给定的上标开始取元素,知道字符串中的最后一个字符。
【注意】字符串也占用一个元素!!!

更新字符串变量

在定义字符串后,你可以对已存在的字符串进行修改/更新,方法也很简单,从新赋值一次即可!

实例如下:

#!/usr/bin/python3
#-*- coding:utf-8 -*-
str = "hello World"   # 创建字符串
print("Front:", str)  # 输出整个字符串

str = "Hello Python"   # 修改(更新)字符串
print("Back:", str)   # 再次输出整个字符串

输出结果:

Front: hello World
Back: Hello Python

【解析】:其中 print "Back:", str 中双引号包含的字符为需要输出的固定字符串,可随意更改,从逗号(,)后面开始的引用才是要输出的操作数。

字符串中的连接符(+)

使用连接符可以将多个字符串或者字符连接起来,实例如下:

#!/usr/bin/python3
#-*- coding:utf-8 -*-

str1 = "Hello World"
str2 = "learn python"

print(str1+str2)  # 将str2连接到str1的末端
print(str1[0:6]+str2[6:13])  # 将Hello 与 python 进行连接

输出结果:

Hello Worldlearn python
Hello python

字符串中的重复操作符(*)

使用重复操作符可以使字符串可以进行多次重复操作,实例如下:

#!/usr/bin/python3
#-*- coding:utf-8 -*-

str1 = "Hello World"
print(str1*3)  # 将字符串重复打印3遍

运行输出结果:

Hello WorldHello WorldHello World

注意:星号(*)后面的数值为要重复执行的次数,可根据实际需求修改,默认重复执行的字符附加在上一个字符串的末端。

Python 转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

转义字符描述
\ (在行末)续行符
\反斜杠符号
\'单引号
\"双引号
\b退格(backspace)
\0空字符
\n换行
\ttab
\r回车
\f换页
\other其它字符按普通格式输出

实例如下:

#!/usr/bin/python
#!-*- coding:utf-8 -*-

str1 = "Hello World"
print("python\n",str1)  # 先打印 python 然后换行打印 Hello World

输出结果:

python
Hello World

Python 字符串格式符

Python与C语言一样支持格式化输出,所谓的格式符输出就是将原有的东西换一种形式表现出来,例如:

假设定义 i = 65,如果这时我们使用 %d 输出 i 时,显示的是它的整数形式 65,如果使用 %c 输出 i 时,显示的是它的字符(ASCII)形式 A

Python字符串格式符有:

符号描述
%c格式化字符串极其ASCLL码
%s格式化字符串
%d十进制整数
%f十进制浮点数
%g十进制整数或浮点数
%o八进制整数
%x,%X以十六进制整数的格式化(%x表示字母输出以小写表示,反之用大写表示)
%e,%E科学计数法格式化浮点数(%e 表示使用e表示,反之用 E)
%%输出普通字符 %

应用实例:

#!/usr/bin/python
#!-*- coding:utf-8 -*-
i = 65
print("%d" %i)  # 以整数形式输出" i "
print("%c" %i)  # 以字符形式输出" i "

输出结果:

65
A

其它使用方法

(1)字符串大小写转换

方法描述
S.lower( )字母大写转换为小写
S.upper( )字母小写转换为大写
S.swapcase( )字母大写转小写,小写转大写
S.title( )将首字母大写

(2)Python 字符串搜索、替换

方法描述
S.find( substr, [start, [end]])返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1, statr 和 end 作用就相当于在S[start:end]中搜索。
S.count(substr, [start, [end]])计算substr在S中出现的次数
S.replace(oldstr, newstr, [count])把S中的oldstar替换为newstr,count为替换次数
S.strip([chars])把S左右两端chars中有的字符全部去掉,一般用于去除空格
S.lstrip([chars])把S左端chars中所有的字符全部去掉
S.index(sub[, start[, end]])返回指定字符的索引值(默认匹配首个值)

(3)字符串分割、组合

方法描述
S.split([sep, [maxsplit]])以sep为分隔符,把S分成一个list, maxsplit表示分隔的次数,默认的分隔符为空白字符
S.join(seq)把seq代表的序列——字符串序列,用S连接起来

(4)字符串编码、解码

方法描述
S.decode([encoding])将以encoding编码的S,解码成unicode编码
S.encode([encoding])将以unicode编码的S编码成encoding, encoding可以是GB2312、GBK/BIG5...

(5)字符串测试

方法描述
S.isalpha( )S是否全是字母,至少有一个字符
S.isdigit( )S是否全是数字,至少有一个字符
S.isspace( )S是否全是空白字符,至少有一个字符
S.islower( )S中的字母是否全是小写
S.isupper( )S中的字母是否全是大写
S.istitle( )S是否是首字母大写的
S.all( )S 中的所有值,是否都为真( True )
S.any( )S 中的所有值,是否有部分为真( True )

完整学习教程请访问Python3 学习教程目录索引

最后修改:2022 年 06 月 11 日
如果觉得我的文章对你有用,请随意赞赏