提示:本章内容比较重要哦~
文章目录
前言
本章内容讲解字符串的一些基础知识,以及整理了一些涉及到对字符串操作的API
在Python学习中,字符串是至关重要的一部分,它们在数据处理、文本处理、网页开发、人工智能等领域都扮演着重要的角色。
数据处理: 在数据处理中,字符串通常用于表示文本数据。例如,读取文件、解析数据、文本匹配等都需要对字符串进行操作。
文本处理: Python中的许多库和模块(如re、string等)专门用于处理字符串。这些工具使得对字符串的操作变得更加高效和灵活。
网页开发: 在网页开发中,字符串用于表示HTML、CSS和JavaScript代码。使用Python的Web框架(如Django、Flask等),可以更轻松地处理字符串,从而构建功能强大的Web应用程序。
人工智能: 在自然语言处理(NLP)和文本挖掘等人工智能领域,字符串是基本的数据类型。对文本数据进行预处理、分词、特征提取等都需要对字符串进行操作。
算法和数据结构: 字符串也是算法和数据结构中的重要内容之一。例如,字符串匹配、编辑距离、字符串排序等算法都是基于字符串的操作。
一、如何表达字符串?
在Python中,字符串可以使用单引号(‘’)、双引号(“”)或三引号(‘’’ ‘’'或"“” “”")来表示。
x = 'Hello, World!'
y = "Hello, World!"
a = '''This is a
string.'''
b = """This is a
string."""
二、字符串中的转义字符
1.转义字符串
在字符串中转义字符用来表示一些特殊字符
-
\r
:回车 -
\n
:换行 -
\t
:缩进(TAB键) -
\\
:表示单斜杠\
x = 'Hello\rWorld!'
print(x)
y = "Hello\nWorld!"
print(y)
a = "Hello\tWorld!"
print(a)
b = "Hello\\World!"
print(b)
World!
Hello
World!
Hello World!
Hello\World!
Hello':World!
这里说明一下:用\\
转义字符来打印单斜杠,也可以只输入\
,如
b = "Hello\World!"
print(b)
Hello\World!
但是有些情况我们只能通过输入\\
转义字符来打印单斜杠,下面我举一个例子:
比如我想在我的代码中输入我的一个文件路径:E:\translate\ZhiyunTranslator
b = "E:\translate\ZhiyunTranslator"
print(b)
E: ranslate\ZhiyunTranslator
观察我的输出结果,路径中的\t
会被识别为转义字符,导致输出结果\t
变成了缩进。在这种情况下用\\
,就可以避免这个问题。
b = "E:\\translate\ZhiyunTranslator"
print(b)
E:\translate\ZhiyunTranslator
2.不转义
字符串前加r表示原始字符串:所见即所得,不转义;
当然,前面的例子我们也可以通过不转义来完成
b = r"E:\translate\ZhiyunTranslator"
print(b)
E:\translate\ZhiyunTranslator
但是,需要特别注意的是,这种情况会禁止字符串中的所有转义字符,在使用过程中需要注意这一点。
三、在字符串中插入变量
f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法(旧的字符串格式化自行了解)。之前我们习惯用百分号 (%)
我想在字符串中表达我的变量有以下方法:
1.使用百分号:
在字符串中用%d、%s
在字符串中占位,%(变量)
需要注意的是,括号中变量的顺序要和占位一致。%d
:整数占位,%s
:字符串占位
name = 'ssy_No.1'
code_age = 3
print('我叫%s,我的码龄%d年'%(name, code_age))
我叫ssy_No.1,我的码龄3年
2.使用 str.format()
str.format() 在字符串中无论是整数占位还是字符串占位都可以直接用花括号占位,.format(变量)
和%(变量)
使用是一样的,括号中变量的顺序要和占位一致。
name = 'ssy_No.1'
code_age = 3
print('我叫{},我的码龄{}年'.format(name, code_age))
我叫ssy_No.1,我的码龄3年
3.f-string
使用f-string
(格式化字符串字面值):在Python 3.6及更高版本中,可以使用 f-strings 来在字符串中嵌入变量。只需在字符串前加上字母f
,然后将变量名放在花括号中即可。这种方法能直接看到字符串中变量的位置。
name = 'ssy_No.1'
code_age = 3
print(f'我叫{name},我的码龄{code_age}年')
我叫ssy_No.1,我的码龄3年
四、字符串的常用函数API
1.访问字符和子字符串
len()
: 返回字符串的长度。- 索引和切片:通过索引值或切片来访问字符串中的单个字符或子字符串。
str = '1234567'
print(str[0:6:1]) # 0是起始位置,6是结尾位置但是取不到结尾
#1是步长在范围里每隔一个部长取一个字符
2.字符串操作
tr.upper()
: 将字符串转换为大写。str.lower()
: 将字符串转换为小写。str.capitalize()
: 将字符串的首字母大写。str.title()
: 将字符串中的每个单词的首字母大写。str.strip()
: 去除字符串两端的空格或指定字符。str.replace(old, new)
: 将字符串中的指定子字符串替换为新字符串。str.join(iterable)
: 将可迭代对象中的字符串连接起来。str.split(sep="", maxsplit=string.count(str))
: )以 sep为分隔符截取字符串,如果 maxsplit有指定值,则仅截取 maxsplit+1 个子字符串。
3.查找和检查
str.find(sub[, start[, end]])
: 查找子字符串在字符串中的位置。str.index(sub[, start[, end]])
: 返回子字符串在字符串中的位置,若未找到则引发异常。str.count(sub[, start[, end]])
: 计算子字符串在字符串中出现的次数。str.startswith(prefix[, start[, end]])
: 检查字符串是否以指定的前缀开头。str.endswith(suffix[, start[, end]])
: 检查字符串是否以指定的后缀结尾。
4.检查字符串的特性
str.isalpha()
: 检查字符串是否只包含字母。str.isdigit()
: 检查字符串是否只包含数字。str.isalnum()
: 检查字符串是否只包含字母和数字。str.islower()
: 检查字符串是否全部为小写。str.isupper()
: 检查字符串是否全部为大写。str.isspace()
: 检查字符串是否只包含空格。
5.格式检查和转换
str.isdigit()
: 检查字符串是否只包含数字。str.isnumeric()
: 检查字符串是否只包含数字字符。str.isdecimal()
: 检查字符串是否只包含十进制数字字符。str.encode(encoding='utf-8', errors='strict')
: 将字符串编码为字节对象。
链接推荐
在这给大家推荐一个网站:python内置类型python官方一些API的使用方法。