Python - Strings(字符串)

Python - Strings(字符串) 首页 / Python2入门教程 / Python - Strings(字符串)

字符串是Python中最流行的类型之一。无涯教程只需将字符括在引号中即可创建它们。 Python将单引号与双引号相同。如-

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

访问字符串值

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

要访问子字符串,请使用方括号与一个或多个索引一起切​​片以获得您的子字符串。如-

#!/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=" 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 M not in a=1
r/R原始字符串-禁止转义字符的实际含义.print r'\n' prints\n and print R'\n'prints\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中的较短者

三重引号

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

#!/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。另请注意,换行需要其转义码(\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包含以下内置方法来处理字符串-

产品编号。带有说明的方法
1 capitalize()

将字符串的首字母大写

2 center(width,fillchar)

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

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

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

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

使用注册用于编码的编解码器解码字符串。编码默认为默认字符串编码。

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

返回字符串的编码字符串版本;如果出现错误,默认情况下会引发ValueError,除非使用'ignore'或'replace'给出错误。

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

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

7 expandtabs(tabsize=8)

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

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

确定如果给出了起始索引beg和结束索引end,则str是在字符串中还是在字符串的子字符串中出现,如果找到则返回索引,否则返回-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()

如果string至少包含1个大小写字符并且所有大小写字符都为小写,则返回true,否则返回false。

14 isnumeric()

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

15 isspace()

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

16 istitle()

如果正确地对字符串加了" titlecased",则返回true,否则返回false。

17 isupper()

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

18 join(seq)

将序列seq中元素的字符串表示形式合并(连接)为带分隔符的字符串。

链接:https://www.learnfk.comhttps://www.learnfk.com/python/python-strings.html

来源:LearnFk无涯教程网

19 len(string)

返回字符串的长度

20 ljust(width [,fillchar])

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

21 lower()

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

22 lstrip()

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

23 maketrans()

返回要在翻译功能中使用的翻译表。

24 max(str)

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

25 min(str)

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

26 replace(old,new[,max])

将字符串中所有出现的旧事件替换为新出现的事件,如果给定的最大值为最大,则替换为最大出现次数。

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

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

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

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

29 rjust(width,[,fillchar])

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

无涯教程网

30 rstrip()

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

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

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

32 splitlines(num=string.count('\n'))

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

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

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

34 strip([str])

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

35 swapcase()

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

36 title()

返回字符串的"加标题大写"版本,即所有单词均以大写字母开头,其余均以小写字母开头。

37 translate(table,deletechars ="")

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

38 upper()

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

39 zfill(width)

将用零填充左的原始字符串返回到总共宽度字符;用于数字,zfill()保留给定的任何符号(小于1的零)。

40 isdecimal()

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入剖析Kubernetes -〔张磊〕

重学前端 -〔程劭非(winter)〕

玩转Spring全家桶 -〔丁雪丰〕

Java业务开发常见错误100例 -〔朱晔〕

跟月影学可视化 -〔月影〕

说透数字化转型 -〔付晓岩〕

PyTorch深度学习实战 -〔方远〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

程序员职业规划手册 -〔雪梅〕

好记忆不如烂笔头。留下您的足迹吧 :)