参考找一找教程网:

字符串是Python中最受欢迎、最常使用的数据类型。可以通过用引号括起字符来创建它们。 Python将单引号与双引号相同。创建字符串和向一个变量赋值一样简单。 例如 -

var1 = 'Hello World!'
var2 = "Python Programming"

1.访问字符串中的值

Python不支持字符类型; 字符会被视为长度为​​1​​的字符串,因此也被认为是一个子字符串。要访问子串,请使用方括号的切片加上索引或直接使用索引来获取子字符串。 例如 -

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "Python Programming"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5]) # 切片加索引,www.zyiz.net

当执行上述代码时,会产生以下结果 -

var1[0]:  H
var2[1:5]: ytho

2.更新字符串

可以通过将变量分配给另一个字符串来“更新”现有的字符串。 新值可以与其原值相关或完全不同的字符串。 例如 -

#!/usr/bin/python3

var1 = 'Hello World!'

print ("Updated String :- ", var1[:6] + 'Python')

当执行上述代码时,会产生以下结果 -

Updated String :-  Hello Python

3.转义字符

下表是可以用反斜杠表示法表示转义或不可打印字符的列表。单引号以及双引号字符串的转义字符被解析。

反斜线符号

十六进制字符

描述/说明

​\a​

​0x07​

铃声或警报

​\b​

​0x08​

退格

​\cx​

 

Control-x

​\C-x​

 

Control-x

​\e​

​0x1b​

Escape

​\f​

​0x0c​

换页

​\M-\C-x​

 

Meta-Control-x

​\n​

​0x0a​

新一行

​\nnn​

 

八进制符号,其中​​n​​在0.7范围内

​\r​

​0x0d​

回车返回

​\s​

​0x20​

空格

​\t​

​0x09​

制表符

​\v​

​0x0b​

垂直制表符

​\x​

 

字符​​x​

​\xnn​

 

十六进制符号,其中​​n​​​在​​0~9​​​,​​a~f​​​或​​A~F​​范围内

4.字符串特殊运算符

假设字符串变量​​a​​​保存字符串值’​​Hello​​​‘,变量​​b​​​保存字符串值’​​Python​​‘,那么 -

运算符

说明

示例

​+​

连接 - 将运算符的两边的值添加

​a + b​​​ 结果为 ​​HelloPython​

​*​

重复 - 创建新字符串,连接相同字符串的多个副本

​a*2​​​ 结果为 ​​HelloHello​

​[]​

切片 - 给出指定索引中的字符串值,它是原字符串的子串。

​a[1]​​​ 结果为 ​​e​

​[:]​

范围切片 - 给出给定范围内的子字符串

​a[1:4]​​​ 结果为 ​​ell​

​in​

成员关系 - 如果给定字符串中存在指定的字符,则返回​​true​

​'H' in a​​​ 结果为 ​​1​

​not in​

成员关系 - 如果给定字符串中不存在指定的字符,则返回​​true​

​'Y' not in a​​​ 结果为 ​​1​

​r/R​

原始字符串 - 抑制转义字符的实际含义。原始字符串的语法与正常字符串的格式完全相同,除了原始字符串运算符在引号之前加上字母“​​r​​​”。 “​​r​​​”可以是小写(​​r​​​)或大写(​​R​​),并且必须紧靠在第一个引号之前。

​print(r'\n')​​​ 将打印 ​​\n​​​ ,或者 ​​print(R'\n')​​​ 将打印 ​​\n​​​,要注意的是如果不加​​r​​​或​​R​​作为前缀,打印的结果就是一个换行。

​%​

格式 - 执行字符串格式化

请参见本文第5节

5.字符串格式化运算符

Python最酷的功能之一是字符串格式运算符​​%​​​。 这个操作符对于字符串是独一无二的,弥补了C语言中 ​​printf()​​系列函数。 以下是一个简单的例子 -

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Maxsu', 71))

当执行上述代码时,会产生以下结果 -

My name is Maxsu and weight is

以下是可以与​​%​​符号一起使用的完整符号集列表 -

编号

格式化符号

转换

1

​%c​

字符

2

​%s​

在格式化之前通过​​str()​​函数转换字符串

3

​%i​

带符号的十进制整数

4

​%d​

带符号的十进制整数

5

​%u​

无符号十进制整数

6

​%o​

八进制整数

7

​%x​

十六进制整数(小写字母)

8

​%X​

十六进制整数(大写字母)

9

​%e​

指数符号(小写字母’​​e​​‘)

10

​%E​

指数符号(大写字母’​​E​​‘

11

​%f​

浮点实数

12

​%g​

​%f​​​和​​%e​

13

​%G​

​%f​​​和​​%E​

其他支持的符号和功能如下表所列 -

编号

符号

功能

1

​*​

参数指定宽度或精度

2

​-​

左对齐

3

​+​

显示标志或符号

4

​<sp>​

在正数之前留空格

5

​#​

根据是否使用“​​x​​​”或“​​X​​​”,添加八进制前导零(‘​​0​​​‘)或十六进制前导’​​0x​​​‘或’​​0X​​‘。

6

​0​

使用零作为左边垫符(而不是空格)

7

​%​

‘​​%%​​​‘留下一个文字“​​%​​”

8

​(var)​

映射变量(字典参数)

9

​m.n.​

​m​​​是最小总宽度,​​n​​是小数点后显示的位数(如果应用)

6.三重引号

Python中的三重引号允许字符串跨越多行,包括逐字记录的新一行,​​TAB​​和任何其他特殊字符。

三重引号的语法由三个连续的单引号或双引号组成。

#!/usr/bin/python3

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print

当执行上述代码时,会产生以下结果。注意每个单独的特殊字符如何被转换成其打印形式,它是直到最后一个​​NEWLINEs​​​在“​​up​​​”之间的字符串的末尾,并关闭三重引号。 另请注意,​​NEWLINEs​​​可能会在一行或其转义码(​​\n​​)的末尾显式显示回车符 -

this is a long string that is made up of
several lines and non-printable characters such as
TAB ( ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
], or just a NEWLINE within
the variable assignment will also show up.

原始字符串根本不将反斜杠视为特殊字符。放入原始字符串的每个字符都保持所写的方式 -

#!/usr/bin/python3

print ('C:\\nowhere')

当执行上述代码时,会产生以下结果 -

C:\nowhere

现在演示如何使用原始的字符串。将表达式修改为如下 -

#!/usr/bin/python3

print (r'C:\\nowhere')

当执行上述代码时,会产生以下结果 -

C:\\nowhere

7.Unicode字符串

在Python 3中,所有的字符串都用Unicode表示。在Python 2内部存储为​​8​​​位ASCII,因此需要附加’​​u​​‘使其成为Unicode,而现在不再需要了。

 

作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者所有,如需转载恳请注明
​​​ 为之网-热爱软件编程 http://www.weizhi.cc/​