Python中的字符串是一系列由引号或双引号括起来的字符:
"Roger"
'Roger'
你可以将字符串值赋给一个变量:
name = "Roger"
你可以使用+
运算符连接两个字符串:
phrase = "Roger" + " is a good dog"
你可以使用+=
来追加字符串:
name = "Roger"
name += " is a good dog"
print(name) # Roger is a good dog
你可以使用str
类构造函数将数字转换为字符串:
str(8) # "8"
这对于将数字连接到字符串中非常重要:
print("Roger is " + str(8) + " years old") # Roger is 8 years old
当使用一组3个引号将字符串括起来时,字符串可以是多行的:
print("""Roger is
8
years old
""")
print('''
Roger is
8
years old
''')
字符串有一组内置方法,例如:
isalpha()
:检查字符串是否只包含字符且不为空isalnum()
:检查字符串是否包含字符或数字且不为空isdecimal()
:检查字符串是否包含数字且不为空lower()
:获取字符串的小写版本islower()
:检查字符串是否为小写upper()
:获取字符串的大写版本isupper()
:检查字符串是否为大写title()
:获取字符串的首字母大写版本startsswith()
:检查字符串是否以特定子字符串开头endswith()
:检查字符串是否以特定子字符串结尾replace()
:替换字符串的一部分split()
:使用特定字符分割字符串strip()
:修剪字符串中的空白字符join()
:将新字符附加到字符串find()
:查找子字符串的位置
还有许多其他方法。
这些方法都不会改变原始字符串,而是返回一个新的修改过的字符串。例如:
name = "Roger"
print(name.lower()) # "roger"
print(name) # "Roger"
你也可以使用一些全局函数来处理字符串。
特别是我想到了len()
函数,它可以给出字符串的长度:
name = "Roger"
print(len(name)) # 5
in
运算符让你检查一个字符串是否包含子字符串:
name = "Roger"
print("ger" in name) # True
转义是一种向字符串中添加特殊字符的方法。
例如,如何在被双引号包裹的字符串中添加一个双引号?
name = "Roger"
"Ro"Ger"
不起作用,因为Python会认为字符串在"Ro"
结束。
正确的方法是使用\
反斜杠字符转义字符串中的双引号:
name = "Ro\"ger"
这也适用于单引号\'
,以及用于制表符的特殊格式字符\t
,用于换行的特殊格式字符\n
和表示反斜杠的特殊格式字符\\
。
给定一个字符串,你可以使用方括号获取特定的字符,以及给定其索引从0开始:
name = "Roger"
name[0] # 'R'
name[1] # 'o'
name[2] # 'g'
使用负数将从末尾开始计数:
name = "Roger"
name[-1] # "r"
你还可以使用范围,我们称之为切片:
name = "Roger"
name[0:2] # "Ro"
name[:2] # "Ro"
name[2:] # "ger"