在 Python 中,字符串可以用单引号或双引号括起来。'hello' 与 "hello" 是相同的。您可以使用 print()函数显示字符串文字:
示例:
print("Hello")print('Hello')
复制代码
将字符串分配给变量是通过变量名后跟等号和字符串完成的:
示例
多行字符串
您可以使用三个引号将多行字符串分配给变量:示例,您可以使用三个双引号:
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,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注
评论