写点什么

Python 中的字符串基础与应用

作者:小万哥
  • 2023-09-28
    广东
  • 本文字数:3571 字

    阅读完需:约 12 分钟

Python 中的字符串基础与应用

在 Python 中,字符串可以用单引号或双引号括起来。'hello' 与 "hello" 是相同的。您可以使用 print()函数显示字符串文字:


示例:


print("Hello")print('Hello')
复制代码


将字符串分配给变量是通过变量名后跟等号和字符串完成的:


示例


a = "Hello"print(a)
复制代码

多行字符串

您可以使用三个引号将多行字符串分配给变量:示例,您可以使用三个双引号:


a = """Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididuntut labore et dolore magna aliqua."""print(a)
复制代码


或者使用三个单引号:示例


a = '''Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididuntut labore et dolore magna aliqua.'''print(a)
复制代码


注意:在结果中,换行符与代码中的位置相同。

字符串是数组

与许多其他流行的编程语言一样,Python 中的字符串是表示 Unicode 字符的字节数组。但是,Python 没有字符数据类型,单个字符只是具有长度 1 的字符串。可以使用方括号访问字符串的元素。


示例,获取位置 1 处的字符(请记住,第一个字符的位置是 0):


a = "Hello, World!"print(a[1])
复制代码

遍历字符串

由于字符串是数组,因此我们可以使用 for 循环遍历字符串中的字符。


示例,遍历单词"banana"中的字母:


for x in "banana":  print(x)
复制代码


在我们的 Python For Loops 章节中了解更多关于 for 循环的内容。

字符串长度

要获取字符串的长度,请使用 len()函数。


示例,len()函数返回字符串的长度:


a = "Hello, World!"print(len(a))
复制代码

检查字符串

要检查字符串中是否存在某个短语或字符,我们可以使用关键字 in。


示例,检查以下文本中是否存在"free":


txt = "The best things in life are free!"print("free" in txt)
复制代码


在 if 语句中使用它:


示例,仅在存在"free"时才打印:


txt = "The best things in life are free!"if "free" in txt:  print("Yes, 'free' is present.")
复制代码


在我们的 Python If...Else 章节中了解更多关于 if 语句的内容。

检查是否不存在

要检查字符串中是否不存在某个短语或字符,我们可以使用关键字 not in。


示例,检查以下文本中是否不存在"expensive":


txt = "The best things in life are free!"print("expensive" not in txt)
复制代码


在 if 语句中使用它:


示例,仅在不存在"expensive"时才打印:


txt = "The best things in life are free!"if "expensive" not in txt:  print("No, 'expensive' is NOT present.")
复制代码

切片

您可以使用切片语法返回一系列字符。,指定起始索引和结束索引,用冒号分隔,以返回字符串的一部分。


示例:,获取从位置 2 到位置 5 的字符(不包括位置 5):


b = "Hello, World!"print(b[2:5])
复制代码


注意:第一个字符的索引为 0。,从开头切片,如果省略起始索引,则范围将从第一个字符开始:


示例,获取从开头到位置 5 的字符(不包括位置 5):


b = "Hello, World!"print(b[:5])
复制代码


切片到结尾


如果省略结束索引,则范围将一直到结尾:


示例,获取从位置 2 到结尾的字符:


b = "Hello, World!"print(b[2:])
复制代码

负索引

使用负索引从字符串的末尾开始切片:


示例,获取字符:从:在"World!"中的"o"(位置-5)到,但不包括:在"World!"中的"d"(位置-2):


b = "Hello, World!"print(b[-5:-2])
复制代码


Python 具有一组可用于字符串的内置方法。

大写

示例:upper()方法将字符串转换为大写:


a = "Hello, World!"print(a.upper())
复制代码

小写

示例:lower()方法将字符串转换为小写:


a = "Hello, World!"print(a.lower())
复制代码

删除空白

空白是实际文本之前和/或之后的空格,通常您希望删除此空间。


示例,strip()方法从开头或末尾删除任何空格:


a = " Hello, World! "print(a.strip()) # 返回 "Hello, World!"
复制代码

替换字符串

示例,replace()方法将字符串替换为另一个字符串:


a = "Hello, World!"print(a.replace("H", "J"))
复制代码

拆分字符串

split()方法返回一个列表,其中指定分隔符之间的文本成为列表项。


示例,split()方法如果找到分隔符的实例,将字符串拆分为子字符串:


a = "Hello, World!"print(a.split(",")) # 返回 ['Hello', ' World!']
复制代码

字符串连接

要连接或组合两个字符串,您可以使用+运算符。


示例:,将变量 a 与变量 b 合并到变量 c 中:


a = "Hello"b = "World"c = a + bprint(c)
复制代码


示例,要在它们之间添加一个空格,请添加一个" ":


a = "Hello"b = "World"c = a + " " + bprint(c)
复制代码

字符串格式化

正如我们在 Python 变量章节中学到的,我们不能像这样组合字符串和数字:


示例:


age = 36txt = "My name is John, I am " + ageprint(txt)
复制代码


但是,我们可以使用 format()方法将字符串和数字组合起来!


format()方法接受传递的参数,格式化它们,并将它们放在字符串中占位符{}处:


示例,使用 format()方法将数字插入字符串中:


age = 36txt = "My name is John, and I am {}"print(txt.format(age))
复制代码


format()方法接受无限数量的参数,并将它们放入相应的占位符中:


示例


quantity = 3itemno = 567price = 49.95myorder = "I want {} pieces of item {} for {} dollars."print(myorder.format(quantity, itemno, price))
复制代码


您可以使用索引号{0}来确保参数放在正确的占位符中:


示例


quantity = 3itemno = 567price = 49.95myorder = "I want to pay {2} dollars for {0} pieces of item {1}."print(myorder.format(quantity, itemno, price))
复制代码

转义字符

要插入字符串中不允许的字符,请使用转义字符。


转义字符是反斜杠\后跟要插入的字符。


一个非法字符的示例是在由双引号括起来的字符串中插入双引号:


示例:如果在由双引号括起来的字符串中使用双引号,将会出现错误:


txt = "We are the so-called "Vikings" from the north."
复制代码


要解决这个问题,使用转义字符\:


示例转义字符允许您在通常不允许的情况下使用双引号:


txt = "We are the so-called \"Vikings\" from the north."
复制代码


Python 中使用的其他转义字符:


\'  单引号  \\  反斜杠  \n  换行符  \r  回车符  \t  制表符  \b  退格符  \f  换页符  \ooo  八进制值  \xhh  十六进制值
复制代码

Python 字符串方法

Python 具有一组可用于字符串的内置方法。


注意:所有字符串方法都返回新值。它们不会更改原始字符串。


capitalize() 将第一个字符转换为大写casefold() 将字符串转换为小写center() 返回一个居中的字符串count() 返回字符串中指定值出现的次数encode() 返回字符串的编码版本endswith() 如果字符串以指定值结尾,则返回Trueexpandtabs() 设置字符串的制表符大小find() 搜索字符串中的指定值并返回其找到的位置format() 格式化字符串中的指定值format_map() 格式化字符串中的指定值index() 搜索字符串中的指定值并返回其找到的位置isalnum() 如果字符串中的所有字符都是字母数字字符,则返回Trueisalpha() 如果字符串中的所有字符都在字母表中,则返回Trueisascii() 如果字符串中的所有字符都是ASCII字符,则返回Trueisdecimal() 如果字符串中的所有字符都是十进制字符,则返回Trueisdigit() 如果字符串中的所有字符都是数字,则返回Trueisidentifier() 如果字符串是标识符,则返回Trueislower() 如果字符串中的所有字符都是小写,则返回Trueisnumeric() 如果字符串中的所有字符都是数字,则返回Trueisprintable() 如果字符串中的所有字符都是可打印字符,则返回Trueisspace() 如果字符串中的所有字符都是空白字符,则返回Trueistitle() 如果字符串遵循标题规则,则返回Trueisupper() 如果字符串中的所有字符都是大写,则返回Truejoin() 将可迭代对象的元素连接到字符串的末尾ljust() 返回字符串的左对齐版本lower() 将字符串转换为小写lstrip() 返回字符串的左修剪版本maketrans() 返回用于转换的转换表partition() 返回一个元组,其中字符串分为三个部分replace() 返回一个字符串,其中指定的值替换为指定的值rfind() 搜索字符串中的指定值并返回其找到的最后位置rindex() 搜索字符串中的指定值并返回其找到的最后位置rjust() 返回字符串的右对齐版本rpartition() 返回一个元组,其中字符串分为三个部分rsplit() 在指定的分隔符处拆分字符串,并返回一个列表rstrip() 返回字符串的右修剪版本split() 在指定的分隔符处拆分字符串,并返回一个列表splitlines() 在换行符处拆分字符串,并返回一个列表startswith() 如果字符串以指定值开头,则返回Truestrip() 返回字符串的修剪版本swapcase() 交换大小写,小写变为大写,反之亦然title() 将每个单词的第一个字符转换为大写translate() 返回一个翻译后的字符串upper() 将字符串转换为大写zfill() 在开头填充指定数量的0值的字符串
复制代码

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:


公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区


看完如果觉得有帮助,欢迎点赞、收藏关注

发布于: 刚刚阅读数: 4
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Python 中的字符串基础与应用_Python_小万哥_InfoQ写作社区