字符串是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
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。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)