Python字符串介绍

Python 字符串是一种不可变的序列类型,属于可迭代对象的一种。字符串可以有3种表示方式

#!/usr/bin/python
# coding=utf-8

print('python字符串单引号表示')
print("python字符串双引号表示")
print('''python字符串三引号表示''')
print("""python字符串三双引号表示""") 

Python字符串赋值变量

#!/usr/bin/python
# coding=utf-8

str1='Python字符串单引号赋值' 
print(str1)

str2="Python字符串双引号赋值" 
print(str2) 

Python字符串多行表示

#!/usr/bin/python
# coding=utf-8

str1='''Python字符串多行表示方式
欢迎来到yxjc123.com网站
这里介绍Python字符串的多行表示,使用3个单引号的方式
'''
print(str1)

str2="""Python字符串多行表示方式
欢迎来到yxjc123.com网站
这里介绍Python字符串的多行表示,使用3个双引号的方式
"""
print(str2) 

字符串内有单双引号问题

如果字符串内有单引号,那么我们使用双引号在外面括起来

如果字符串内有双引号,那么我们使用单引号在外面括起来

当然,除了上面的单双引号的交替使用,也可以使用转义符号的方式来解决这个问题。

看下面的例子:

#!/usr/bin/python
# coding=utf-8
 
str1= ' welcome to  "www.yxjc123.com" website '
print(str1)
str2= " welcome to  'www.yxjc123.com' website "
print(str2)
str3= " welcome to  \"www.yxjc123.com\" website " #使用转义符号\
print(str3)
str4= ' welcome to  \'www.yxjc123.com\' website ' #使用转义符号\
print(str4)

字符串的长度

使用len()函数来获取字符串的长度,如下所示。

#!/usr/bin/python
# coding=utf-8
 
str = 'www.yxjc123.com'
n = len(str) 
print(n) #输出15 

字符串序列取值

Python字符串是一个可迭代的有序集合,因此Python字符串有索引值,看下面的例子。

 #!/usr/bin/python
# coding=utf-8
 
str = 'yxjc123'
print(str[0])
print(str[1])
print(str[2])
print(str[3])
print(str[4])
print(str[5])
print(str[6]) 
输出:

y
x
j
c
1
2
3

 索引可以使用负数来取值。

#!/usr/bin/python
# coding=utf-8
 
str = 'yxjc123'
print(str[-1])
print(str[-2])
print(str[-3])
print(str[-4])
print(str[-5])
print(str[-6])
print(str[-7]) 
输出:
3
2
1
c
j
x
y

 注意:字符串是一个不可变的对象。因此,我们不能通过索引赋值的方式修改它,下面这样的写法是错误的:

str = 'yxjc123'
str[0] = 'w' 

Python 字符串

Python字符串类

所有字符串都是Python中str类的对象。

#!/usr/bin/python
# coding=utf-8
 
s1 = 'yxjc123'
print(type(s1))
输出:
<class 'str'>

type()函数是Python的内置函数,我们使用type() 函数获取了数据的类型。

Python字符串遍历

我们可以使用for循环的方式遍历Python的字符串。

#!/usr/bin/python
# coding=utf-8

str = 'yxjc123'
for item in str:
	print(item)

Python字符串转义符号

Python中的转义符为反斜杠 \

在上面的字符串单双引号的解决问题中,我们已经使用了转义符 反斜杠\ ,它可以让字符原样输出,而转义符\不被输出。

str3= " welcome to  \"www.yxjc123.com\" website " #使用转义符号\
print(str3)
str4= ' welcome to  \'www.yxjc123.com\' website ' #使用转义符号\
print(str4)

我们也可以使用r或者R让转义符也输出。

#!/usr/bin/python
# coding=utf-8

str3= r" welcome to  \"www.yxjc123.com\" website " #使用转义符号\
print(str3)
str4= R' welcome to  \'www.yxjc123.com\' website ' #使用转义符号\
print(str4)

下面是Python中的转义符,它在Python的字符串处理函数中非常有用。

转义字符描述
\(在行尾时)续行符
\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

Python字符串函数

介绍python相关字符串函数。

函数说明
index()查找字符串中第一次出现的子字符串的位置
rindex()查找字符串中最后一次出现的子字符串的位置
join()将iterable变量的每一个元素后增加一个str字符串。
replace()返回字符串str的副本,所有old子字符串被替换为new字符串。
splitlines()按照('\n', '\r', \r\n'等)分隔,返回一个包含各行作为元素的列表,默认不包含换行符。
rsplit()拆分字符串,从字符串右边(末尾)开始分割。
split()拆分字符串。
rpartition()根据指定的分隔符(sep)将字符串进行分割,从字符串右边。
partition()根据指定的分隔符(sep)将字符串进行分割,从字符串左边。
translate()过滤(删除),翻译字符串。即根据maketrans()函数给出的字符映射转换表来转换字符串中的字符。
maketrans()制作翻译表,删除表,常与translate()函数连用。
rstrip()从字符串str中去掉在其右边chars中列出的字符。
lstrip()从字符串str中去掉在其左边chars中列出的字符。
strip()从字符串str中去掉在其左右两边chars中列出的字符。
istitle()检测判断字符串中所有单词的首字母是否为大写,且其它字母是否为小写,字符串中可以存在其它非字母的字符。
isspace()检测字符串是否只由空格组成。
isprintable()判断字符串中是否有打印后不可见的内容。如:\n \t 等字符。
isnumeric()测字符串是否只由数字组成。这种方法是只适用于unicode对象。
isupper()检测字符串中的字母是否全由大写字母组成。
islower()检测字符串中的字母是否全由小写字母组成。
isidentifier()判断str是否是有效的标识符。
isdigit()检测字符串是否只由数字组成.
isdecimal()检查字符串是否只包含十进制字符。
isalpha()检测字符串是否只由字母组成
isalnum()检测字符串是否全部由字母和数字组成。
startswith()判断字符串是否以指定字符或子字符串开头。
endswith()判断字符串是否以指定字符或子字符串结尾。
format_map()返回字符串的格式化版本。
rfind()查找字符串中指定的子字符串sub最后一次出现的位置,可以规定字符串的索引查找范围。
find()查找字符串中指定的子字符串sub第一次出现的位置,可以规定字符串的索引查找范围
expandtabs()返回一个字符串的副本。expandtabs() 方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
decode()以 encoding 指定的编码格式解码字符串,默认编码为字符串编码。
encode()以指定的编码格式编码字符串,默认编码为 'utf-8'。
count()统计字符串里某个字符出现的次数。可以选择字符串索引的起始位置和结束位置。
zfill()返回指定长度的字符串,使原字符串右对齐,前面用0填充到指定字符串长度。
rjust()返回一个原字符串右对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。
ljust()返回一个原字符串左对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。
center()返回一个长度为width,两边用fillchar(单字符)填充的字符串,即字符串str居中,两边用fillchar填充。
casefold()将字符串中的所有大写字母转换为小写字母。也可以将非英文 语言中的大写转换为小写。
upper()将字符串中的所有小写字母转换为大写字母。
lower()将字符串中的所有大写字母转换为小写字母。
swapcase()将字符串str中的大小写字母同时进行互换。
title()返回一个满足标题格式的字符串。即所有英文单词首字母大写,其余英文字母小写。
capitalize()将字符串的第一个字母变成大写,其余字母变为小写。
format()返回一个格式化的字符串