亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python - 字符串

上一页下一页

字符串是 Python 中最流行的类型之一。我们可以简单地通过将字符括在引号中来创建它们。 Python 将单引号视为双引号。创建字符串就像为变量赋值一样简单。例如 -

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

访问字符串中的值

Python 不支持字符类型;这些被视为长度为 1 的字符串,因此也被视为子字符串。

要访问子字符串,请使用方括号进行切片以及索引或索引来获取子字符串。例如 -

现场演示
#!/usr/bin/python

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

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

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

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

更新字符串

您可以通过(重新)将变量分配给另一个字符串来“更新”现有字符串。新值可以与其先前的值相关,也可以与完全不同的字符串相关。例如 -

现场演示
#!/usr/bin/python

var1 = 'Hello World!'
print "Updated String :- ", var1[:6] + 'Python'

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

Updated String :-  Hello Python

转义字符

下表是可以用反斜杠表示法表示的转义字符或不可打印字符的列表。

转义字符被解释;在单引号和双引号字符串中。

反斜杠符号 十六进制字符 描述
\a 0x07 响铃或警报
\b 0x08 退格
\cx Control-x
\C-x Control-x
\e 0x1b 逃跑
\f 0x0c 换页
\M-\C-x 元控制-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 范围内

字符串特殊运算符

假设字符串变量 a 保存 'Hello' 和变量 b 持有'Python',然后 -

运算符 描述 示例
+ 连接 - 在运算符的任一侧添加值 a + b 将给出 HelloPython
* 重复 - 创建新字符串,连接相同字符串的多个副本 a*2 会给出 -HelloHello
[] 切片 - 给出给定索引中的字符 a[1] 会给 e
[ :] 范围切片 - 给出给定范围内的字符 a[1:4] 会给出 ell
Membership - 如果给定字符串中存在字符,则返回 true H 中的将给出 1
不在 Membership - 如果给定字符串中不存在字符,则返回 true M 不在 a 中会给出 1
r/R 原始字符串 - 抑制转义字符的实际含义。原始字符串的语法与普通字符串的语法完全相同,但原始字符串运算符除外,即引号前面的字母“r”。 “r”可以是小写字母 (r) 或大写字母 (R),并且必须紧挨在第一个引号之前。 print r'\n' 打印 \n 和 print R'\n' 打印 \n
% Format - 执行字符串格式化 见下节

字符串格式化操作符

Python 最酷的特性之一是字符串格式运算符 %。该运算符是字符串独有的,弥补了 C 的 printf() 系列中的函数包。以下是一个简单的例子 -

现场演示
#!/usr/bin/python

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

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

My name is Zara and weight is 21 kg!

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

格式化符号 转换
%c 字符
%s 在格式化之前通过 str() 进行字符串转换
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 指数符号(带小写'e')
%E 指数表示法(大写“E”)
%f 浮点实数
%g %f 和 %e 中较短的一个
%G %f 和 %E 中较短的一个

下表列出了其他支持的符号和功能 -

符号 功能
* 参数指定宽度或精度
- 左对齐
+ 显示标志
在正数前留一个空格
# 添加八进制前导零 ('0') 或十六进制前导 '0x' 或 '0X',具体取决于使用的是 'x' 还是 'X'。
0 从左边用零(而不是空格)填充
% '%%' 给你留下一个文字 '%'
(var) 映射变量(字典参数)
m.n. m 是最小总宽度,n 是小数点后显示的位数(如果适用)

三引号

Python 的三重引号允许字符串跨越多行,包括逐字换行符、制表符和任何其他特殊字符。

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

现场演示
#!/usr/bin/python

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 para_str

执行上述代码时,会产生以下结果。请注意每个特殊字符是如何转换为其打印形式的,一直到字符串末尾“up”之间的最后一个 NEWLINE。并关闭三重引号。另请注意,NEWLINE 出现在行尾的显式回车或其转义码 (\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/python

print 'C:\\nowhere'

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

C:\nowhere

现在让我们使用原始字符串。我们将表达式放在 r'expression' 如下 -

现场演示
#!/usr/bin/python

print r'C:\\nowhere'

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

C:\\nowhere

Unicode 字符串

Python 中的普通字符串在内部存储为 8 位 ASCII,而 Unicode 字符串存储为 16 位 Unicode。这允许使用更多样化的字符集,包括来自世界上大多数语言的特殊字符。我将对 Unicode 字符串的处理限制为以下内容 -

现场演示
#!/usr/bin/python

print u'Hello, world!'

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

Hello, world!

如您所见,Unicode 字符串使用前缀 u,就像原始字符串使用前缀 r。

内置字符串方法

Python 包含以下内置方法来操作字符串 -

Sr.No. 方法描述
1 大写()

字符串首字母大写

2 中心(宽度,填充字符)

返回一个以空格填充的字符串,原始字符串以总宽度列为中心。

3 count(str, beg=0,end=len(string))

如果给定了起始索引 beg 和结束索引 end,则计算 str 在字符串或字符串的子字符串中出现的次数。

4 decode(encoding='UTF-8',errors='strict')

使用为编码注册的编解码器对字符串进行解码。 encoding 默认为默认字符串编码。

5 encode(encoding='UTF-8',errors='strict')

返回字符串的编码字符串版本;发生错误时,默认是引发 ValueError,除非错误是用 'ignore' 或 'replace' 给出的。

6 endswith(suffix, beg=0, end=len(string))

确定字符串或字符串的子字符串(如果给出了起始索引 beg 和结束索引 end)是否以后缀结尾;如果是则返回 true,否则返回 false。

7 扩展标签(标签大小=8)

将字符串中的制表符扩展到多个空格;如果未提供 tabsize,则默认为每个 tab 8 个空格。

8 find(str, beg=0 end=len(string))

如果给出起始索引 beg 和结束索引 end 则确定 str 出现在字符串中还是出现在字符串的子字符串中,如果找到则返回 index,否则返回 -1。

9 index(str, beg=0, end=len(string))

与 find() 相同,但如果 str 未找到则引发异常。

10 isalnum()

如果字符串至少有 1 个字符并且所有字符都是字母数字,则返回 true,否则返回 false。

11 isalpha()

如果字符串至少有 1 个字符且所有字符都是字母,则返回 true,否则返回 false。

12 isdigit()

如果字符串只包含数字,则返回 true,否则返回 false。

13 islower()

如果字符串至少有 1 个大小写字符且所有大小写字符都是小写,则返回 true,否则返回 false。

14 isnumeric()

如果 unicode 字符串仅包含数字字符,则返回 true,否则返回 false。

15 isspace()

如果字符串只包含空白字符,则返回 true,否则返回 false。

16 istitle()

如果字符串被正确地“titlecased”返回true,否则返回false。

17 isupper()

如果字符串至少有一个大小写字符且所有大小写字符都为大写,则返回 true,否则返回 false。

18 加入(序列)

将序列 seq 中元素的字符串表示合并(连接)成一个字符串,带有分隔符字符串。

19 len(字符串)

返回字符串的长度

20 ljust(宽度[, fillchar])

返回一个空格填充的字符串,原始字符串左对齐到总宽度列。

21 降低()

将字符串中的所有大写字母转换为小写。

22 lstrip()

删除字符串中的所有前导空格。

23 maketrans()

返回要在翻译函数中使用的翻译表。

24 最大值(str)

返回字符串 str 中的最大字母字符。

25 分钟(字符串)

返回字符串 str 中的最小字母字符。

26 替换(旧,新 [,最大])

将字符串中所有出现的 old 替换为新的,或者如果给定 max,则最多替换为 max 次。

27 rfind(str, beg=0,end=len(string))

与 find() 相同,但在字符串中向后搜索。

28 rindex(str, beg=0, end=len(string))

与 index() 相同,但在字符串中向后搜索。

29 rjust(宽度,[, fillchar])

返回一个以空格填充的字符串,原始字符串右对齐到总宽度列。

30 rstrip()

删除字符串的所有尾随空格。

31 split(str="", num=string.count(str))

根据分隔符 str 拆分字符串(如果未提供空格)并返回子字符串列表;如果给定,最多拆分为 num 个子字符串。

32 分割线(num=string.count('\n'))

在所有(或 num)个 NEWLINE 处拆分字符串,并返回删除了 NEWLINE 的每一行的列表。

33 startswith(str, beg=0,end=len(string))

确定字符串或字符串的子字符串(如果给出了起始索引 beg 和结束索引 end)是否以子字符串 str 开头;如果是则返回 true,否则返回 false。

34 strip([字符])

对字符串执行 lstrip() 和 rstrip()。

35 swapcase()

反转字符串中所有字母的大小写。

36 标题()

返回“titlecased”版本的字符串,即所有单词都以大写开头,其余的都是小写。

37 翻译(表, deletechars="")

根据翻译表str(256 chars)翻译字符串,删除del字符串中的。

38 上()

将字符串中的小写字母转换为大写。

39 zfill (宽度)

返回用零填充到总宽度字符的原始字符串;用于数字,zfill() 保留任何给定的符号(少一个零)。

40 十进制()

如果 unicode 字符串只包含十进制字符,则返回 true,否则返回 false。


Python

  1. C# 字符串
  2. Python 运算符
  3. Python字典
  4. Java 字符串
  5. Java 枚举字符串
  6. Python 字符串:替换、连接、拆分、反转、大写和小写
  7. Python String strip() 函数与示例
  8. 带有示例的 Python 字符串计数()
  9. Python String format() 举例说明
  10. Python 字符串长度 | len() 方法示例
  11. Python String find() 方法及示例
  12. Python 中的 Enumerate() 函数:循环、元组、字符串(示例)