字符串字面量
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 incididunt
ut labore et dolore magna aliqua."""
print(a)
实例
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
注释: 在结果中,换行符插入与代码中相同的位置.
字符串是数组
像许多其他流行的编程语言一样,Python 中的字符串是表示 unicode 字符的字节数组。
但是,Python 没有字符数据类型,单个字符就是长度为 1 的字符串。
方括号可用于访问字符串的元素。
实例
获取位置 1 处的字符(请记住第一个字符的位置为 0):
a = "Hello, World!"
print(a[1])
裁切
您可以使用裁切语法返回一定范围的字符。
指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。
实例
获取从位置 2 到位置 5(不包括)的字符:
b = "Hello, World!"
print(b[2:5])
负的索引
实例
获取从位置 5 到位置 1 的字符,从字符串末尾开始计数:
b = "Hello, World!"
print(b[-5:-2])
字符串长度
实例
len() 函数返回字符串的长度:
a = "Hello, World!"
print(len(a))
字符串方法
实例
strip() 方法删除开头和结尾的空白字符:
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"
实例
lower() 返回小写的字符串:
a = "Hello, World!"
print(a.lower())
实例
upper() 方法返回大写的字符串:
a = "Hello, World!"
print(a.upper())
实例
replace() 用另一段字符串来替换字符串:
a = "Hello, World!"
print(a.replace("H", "J"))
实例
split() 方法在找到分隔符的实例时将字符串拆分为子字符串:
a = "Hello, World!"
print(a.split(",")) # 返回 ['Hello', ' World!']
检查字符串
如需检查字符串中是否存在特定短语或字符,我们可以使用 in 或 not in关键字。
实例
检查以下文本中是否存在短语 “ain”:
txt = "The rain in Spain stays mainly in the plain"
x = "ain" in txt
print(x)
实例
检查以下文本中是否没有短语 “ain”:
txt = "The rain in Spain stays mainly in the plain"
x = "ain" not in txt
print(x)
字符串级联(串联)
实例
将变量 a 与变量 b 合并到变量 c 中:
a = "Hello"
b = "World"
c = a + b
print(c)
实例
在它们之间添加一个空格 “ “:
a = "Hello"
b = "World"
c = a + " " + b
print(c)
字符串格式
正如在 Python 变量一章中所学到的,我们不能像这样组合字符串和数字:
实例
age = 36
txt = "My name is John, I am " + age
print(txt)
但是我们可以使用 format() 方法组合字符串和数字!
format() 方法接受传递的参数,格式化它们,并将它们放在占位符 {} 所在的字符串中:
实例
使用 format() 方法将数字插入字符串:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
format() 方法接受不限数量的参数,并放在各自的占位符中:
实例
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
实例
quantity = 3
itemno = 567
price = 49.95
myorder = "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 中使用的其他转义字符:
代码 | 结果 |
---|---|
\‘ | Single Quote |
\\ | Backslash |
\n | New Line |
\r | Carriage Return |
\t | Tab |
\b | Backspace |
\f | Form Feed |
\ooo | Octal value |
\xhh | Hex value |
字符串方法
Python 有一组可以在字符串上使用的内建方法。
注释: 所有字符串方法都返回新值。它们不会更改原始字符串。
方法 | 描述 |
---|---|
capitalize() | 把首字符转换为大写。 |
casefold() | 把字符串转换为小写。 |
center() | 返回居中的字符串。 |
count() | 返回指定值在字符串中出现的次数。 |
encode() | 返回字符串的编码版本。 |
endswith() | 如果字符串以指定值结尾,则返回 true。 |
expandtabs() | 设置字符串的 tab 尺寸。 |
find() | 在字符串中搜索指定的值并返回它被找到的位置。 |
format() | 格式化字符串中的指定值。 |
format_map() | 格式化字符串中的指定值。 |
index() | 在字符串中搜索指定的值并返回它被找到的位置。 |
isalnum() | 如果字符串中的所有字符都是字母数字,则返回 True。 |
isalpha() | 如果字符串中的所有字符都在字母表中,则返回 True。 |
isdecimal() | 如果字符串中的所有字符都是小数,则返回 True。 |
isdigit() | 如果字符串中的所有字符都是数字,则返回 True。 |
isidentifier() | 如果字符串是标识符,则返回 True。 |
islower() | 如果字符串中的所有字符都是小写,则返回 True。 |
isnumeric() | 如果字符串中的所有字符都是数,则返回 True。 |
isprintable() | 如果字符串中的所有字符都是可打印的,则返回 True。 |
isspace() | 如果字符串中的所有字符都是空白字符,则返回 True。 |
istitle() | 如果字符串遵循标题规则,则返回 True。 |
isupper() | 如果字符串中的所有字符都是大写,则返回 True。 |
join() | 把可迭代对象的元素连接到字符串的末尾。 |
ljust() | 返回字符串的左对齐版本。 |
lower() | 把字符串转换为小写。 |
lstrip() | 返回字符串的左修剪版本。 |
maketrans() | 返回在转换中使用的转换表。 |
partition() | 返回元组,其中的字符串被分为三部分。 |
replace() | 返回字符串,其中指定的值被替换为指定的值。 |
rfind() | 在字符串中搜索指定的值,并返回它被找到的最后位置。 |
rindex() | 在字符串中搜索指定的值,并返回它被找到的最后位置。 |
rjust() | 返回字符串的右对齐版本。 |
rpartition() | 返回元组,其中字符串分为三部分。 |
rsplit() | 在指定的分隔符处拆分字符串,并返回列表。 |
rstrip() | 返回字符串的右边修剪版本。 |
split() | 在指定的分隔符处拆分字符串,并返回列表。 |
splitlines() | 在换行符处拆分字符串并返回列表。 |
startswith() | 如果以指定值开头的字符串,则返回 true。 |
strip() | 返回字符串的剪裁版本。 |
swapcase() | 切换大小写,小写成为大写,反之亦然。 |
title() | 把每个单词的首字符转换为大写。 |
translate() | 返回被转换的字符串。 |
upper() | 把字符串转换为大写。 |
zfill() | 在字符串的开头填充指定数量的 0 值。 |