介绍
字符串(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 | 换行 |
\t | tab |
\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 学习教程目录索引