Python/python strings
<languages />
Python字符串
字符串文字
python中的字符串文字被单引号或双引号引起来。
'你好' 是相同的 “你好” .
您可以使用
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])
切片
您可以使用slice语法返回一定范围的字符。
指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。
例
获取从位置2到位置5(不包括)的字符:
b = "Hello, World!" print(b[2:5])
负索引
例
从字符串的末尾开始计数,将字符从位置5移到位置1(不包括在内):
b = "Hello, World!" print(b[-5:-2])
弦长
要获取字符串的长度,请使用
len()
功能。
例
The
len()
函数返回字符串的长度:
a = "Hello, World!" print(len(a))
字符串方法
Python有一组可用于字符串的内置方法。
例
The
strip()
方法从开头或结尾删除所有空格:
a = " Hello, World! " print(a.strip()) # returns "Hello, World!"
例
The
lower()
方法以小写形式返回字符串:
a = "Hello, World!" print(a.lower())
例
The
upper()
方法以大写形式返回字符串:
a = "Hello, World!" print(a.upper())
例
The
replace()
方法用另一个字符串替换一个字符串:
a = "Hello, World!" print(a.replace("H", "J"))
例
The
split()
如果找到分隔符的实例,该方法会将字符串拆分为子字符串:
a = "Hello, World!" print(a.split(",")) # returns ['Hello', ' World!']
了解更多有关字符串方法的信息 字符串方法参考
检查字符串
要检查字符串中是否存在某个短语或字符,我们可以使用关键字
in
or
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()
方法!
The
format()
方法采用传递的参数,对其进行格式化,然后将其放置在占位符所在的字符串中
{}
are:
例
使用
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))
您可以使用索引号
{0}
确保将参数放置在正确的占位符中:
例
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中使用的其他转义字符:
Code | 结果 | 试试吧 |
---|---|---|
\' | 单引号 | 试试吧 ” |
\\ | 反斜杠 | 试试吧 ” |
\n | 新队 | 试试吧 ” |
\r | 回车 | 试试吧 ” |
\t | Tab | 试试吧 ” |
\b | 退格键 | 试试吧 ” |
\f | 换页 | |
\ooo | 八进制值 | 试试吧 ” |
\xhh | 十六进制值 | 试试吧 ” |
字符串方法
Python有一组可用于字符串的内置方法。
注意: 所有字符串方法都返回新值。它们不会更改原始字符串。
方法 | 描述 |
---|---|
大写() | 将第一个字符转换为大写 |
casefold() | 将字符串转换为小写 |
中央() | 返回居中的字符串 |
计数() | 返回指定值在字符串中出现的次数 |
编码() | 返回字符串的编码版本 |
以。。结束() | 如果字符串以指定值结尾,则返回true |
expandtabs() | 设置字符串的制表符大小 |
找() | 在字符串中搜索指定的值,并返回找到该字符串的位置 |
格式() | 格式化字符串中的指定值 |
format_map() | 格式化字符串中的指定值 |
指数() | 在字符串中搜索指定的值,并返回找到该字符串的位置 |
isalnum() | 如果字符串中的所有字符都是字母数字,则返回True |
isalpha() | 如果字符串中的所有字符都在字母中,则返回True |
isdecimal() | 如果字符串中的所有字符均为小数,则返回True |
isdigit() | 如果字符串中的所有字符都是数字,则返回True |
isidentifier() | 如果字符串是标识符,则返回True |
islower() | 如果字符串中的所有字符均为小写,则返回True |
isnumeric() | 如果字符串中的所有字符均为数字,则返回True |
isprintable() | 如果字符串中的所有字符都是可打印的,则返回True |
isspace() | 如果字符串中的所有字符都是空格,则返回True |
istitle() | 如果字符串遵循标题规则,则返回True |
isupper() | 如果字符串中的所有字符均为大写,则返回True |
加入() | 将iterable的元素连接到字符串的末尾 |
ljust() | 返回字符串的左对齐版本 |
降低() | 将字符串转换为小写 |
lstrip() | 返回字符串的左修剪版本 |
maketrans() | 返回要在翻译中使用的翻译表 |
划分() | 返回一个将字符串分为三部分的元组 |
更换() | 返回将指定值替换为指定值的字符串 |
rfind() | 在字符串中搜索指定的值,并返回找到它的最后位置 |
rindex() | 在字符串中搜索指定的值,并返回找到它的最后位置 |
正义() | 返回字符串的右对齐版本 |
rpartition() | 返回一个将字符串分为三部分的元组 |
rsplit() | 在指定的分隔符处分割字符串,并返回一个列表 |
rstrip() | 返回字符串的右修剪版本 |
分裂() | 在指定的分隔符处分割字符串,并返回一个列表 |
splitlines() | 在换行符处分割字符串并返回一个列表 |
以。。开始() | 如果字符串以指定值开头,则返回true |
跳闸() | 返回字符串的修剪版本 |
swapcase() | 交换大小写,小写变成大写,反之亦然 |
标题() | 将每个单词的第一个字符转换为大写 |
翻译() | 返回翻译后的字符串 |
上() | 将字符串转换为大写 |
zfill() | 以指定数量的0开头的字符串填充字符串 |