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
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
2
1
c
j
x
y
注意:字符串是一个不可变的对象。因此,我们不能通过索引赋值的方式修改它,下面这样的写法是错误的:
str = 'yxjc123'
str[0] = 'w'
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() | 返回一个格式化的字符串 |