首页 > Python资料 博客日记

Python3字符串

2023-08-07 16:47:23Python资料围观182

文章Python3字符串分享给大家,欢迎收藏Python资料网,专注分享技术知识

字符串在Python中是最普遍的类型。我们可以通过使用引号引起字符来简单地创建他们。Python对待(处理)单引号和双引号一样。创建字符串和一个变量赋值一样简单。例如 -
var1 = 'Hello World!'
var2 = "Python Programming"

访问字符串的值

Python不支持的字符类型; 这些都被视为长度为1的字符串,因此也被认为是一个子字符串。
要访问子字符串,用方括号以及索引或索引来获得子切片。例如 -
#!/usr/bin/python3

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/python3

var1 = 'Hello World!'

print ("Updated String :- ", var1[:6] + 'Python')
当执行上面的代码,它产生以下结果- 
Updated String :-  Hello Python

转义字符

下面的表格转义或不可打印字符的列表,可以用反斜杠符号来表示。
转义字符被解析; 带单引号以及双引号的字符串。
反斜线
符号
十六进制
字符
描述
\a 0x07
响铃或警报
\b 0x08
Backspace键
\cx

Control-x
\C-x

Control-x
\e 0x1b Escape
\f 0x0c Formfeed
\M-\C-x

Meta-Control-x
\n 0x0a 新行
\nnn

Octal notation, where n is in the range 0.7
\r 0x0d Carriage return
\s 0x20 空格
\t 0x09 Tab
\v 0x0b Vertical tab
\x

Character 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'
in
成员操作符 - 如果一个字符在给定字符串中存在,则返回true
H in a = 1
not in
成员操作符 - 如果一个字符在给定的字符串中不存在,则返回true
M not in = 1
r/R 原始字符串 - 禁止转义字符实际意义。 字母“r”这是引号前导 print r'\n' 打印 \n , print R'\n' 打印 \n
%
格式 - 执行字符串格式化
参见下一节

字符串格式化操作

Python有一个最酷的功能是字符串格式运算符%。这个操作符对于字符串是是唯一的,并填补了 C语言中 printf()系列函数。下面是一个简单的例子-

#!/usr/bin/python3

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的简写
其它支持的符号和功能都列在下表中 -
符号 功能描述
*
参数指定宽度或精度
-
左对齐
+
显示符号
<sp>
在一个正数前留一个空格
#
添加前导零('0')八进制或前导0x“或”0X“十六进制,取决于是否使用了'x'或'X'。
0
垫留下了零(而不是空格)
%
'%%'保留一个常量“%”
(var)
映射变量(字典参数)
m.n.
m是最小总宽度和n是小数点后显示数量(如果appl)

三重引号

Python的三重引号允许字符串跨越多行,包括逐字换行符,制表符,以及任何其他特殊字符
三重引号的语法是由三个连续的单或双引号组成。
#!/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 (para_str) 

当执行上面的代码,它产生了以下结果。注意,如何每一个特殊字符已经转换到它的打印形式,一直到最后的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/python3
(
print ('C:\\nowhere')
当执行上面的代码,它产生以下结果 -
C:\nowhere
现在使用原始字符串。我们会把表达式在 r'expression' 如下-
#!/usr/bin/python3

print (r'C:\\nowhere')
当执行上面的代码,它产生以下结果 -
C:\\nowhere

Unicode字符串

在Python 3,所有的字符串都是以Unicode表示。在Python2中内部存储为8位ASCII,因此,它需要附上“u”以让明确使用的是Unicode。但在Python3 中现在不再是必要的。

字符串内置的方法

Python包括以下内建的方法操作字符串-
SN
方法及描述
1

capitalize()

将字符串的第一个字母大写
2

center(width, fillchar)

返回以fillchar填充的字符串以及原始字符串中心到总 width 列
3

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

计数str有多少次出现在在字符串中;或如果开始索引beg和结束索引 end 给出,则计算子字符串在一个字符串中出现的次数
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给出)以 suffix 结束; 如果是这样返回true,否则为false

7

expandtabs(tabsize=8)

扩展制表符字符串到多个空格; 默认每个制表符为8个空格,如果不提供制表符的大小
8

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

确定是否在字符串或字符串找到一个子字符str(如果开始索引beg和结束索引end给出),如果找到则返回索引,否则返回-1
9

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

同 find()方法,如果str没有找到则引发异常
10

isalnum()

如果string至少有1个字符,所有字符是字母数字则返回true,否则返回false
11

isalpha()

如果string至少有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()

如果string至少有1个可转大小写字符,所有可转大小字符是大写字母则返回true,否则为false
18

join(seq)

合并(符连接)序列 seq 融入一个字符串,以及使用分隔符字符串的字符串表示。
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])

使用 new 替换所有出现在字符串中的 old 或 如果 max 给定,替换现的 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给定,则分割成至多num个子字符串
32

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

拆分所有(或num)字符串换行符,并返回每行去除换行后的列表
33

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

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

strip([chars])

对字符串同时执行lstrip()和rstrip()
35

swapcase()

反转在字符串中的所有字母大小写(大写转小写,小写转大写)
36

title()

返回“titlecased”字符串的版本,也就是所有的字开头大写,其余小写
37

translate(table, deletechars="")

根据翻译表str(256字母)转换字符串,删除那些在del字符串
38

upper()

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

zfill (width)

返回原字符串左边用零填充到总宽度的字符; zfill()保留给任何正负号(少一个零)
40

isdecimal()

如果一个Unicode字符串只包含小数点字符则返回 true,否则为 false

版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐