Python 字符串
字符串 String
- 字符串是文本的一种呈现类型,它表示一个字符序列
- 字符串可以包括任何字符,甚至是空格、标点符号和数字
- 以赋值方式可以将变量设置为一个字符串
创建字符串
使用引号创建一个字符串,使用一对 单引号 '' 或双引号 "" 均可
若创建含有引号(双引号)的字符串的方法:
- 将字符串放在 单引号
'中 - 若字符串中正好也有单引号,需使用一个转义符 反斜杠
\来转义引号(在引号前添加,Python 知道这个单引号解释为字符串的一部分)pythonsalesman = '"I think you\'re an encyclopaedia salesman"' - 使用特殊字符(一般以转义符
\开头)可以构成特殊的字符串,例如\n表示换行符,\t表示制表符(Tab 键),\r表示回车 - 多行字符串可以使用两行各三引号
"""将内容包括在内。
索引字符串
字符串的索引在 0 开始
字符串比较和排序
字符串可以根据它们所含的字符排序,顺序以每个字符的数字值为基础。
==、< 和 > 等比较运算符在字符串上的效果和数字一样。
>>> 'aardvark' < 'ant'
True
提示
可以使用 ord() 函数查询每个字符的数字值。
in 与 not in 运算符
查看某个字符串是否包含在另一个字符串中(即该字符串作为子字符串)
提示
x not in y 等价于 not (x in y)
>>> 'box' in 'big box of trouble'
True
字符串方法
说明
方法与特定数据类型的对象相关,即不同的数据类型有不同的内置方法可供调用
字符串存在多种内置方法,以下列出常用方法
说明
每个方法都接受字符串本身作为该方法的第一个参数,有的方法还可以接收其他参数
len()
使用函数 len(str) 返回一个整数,表示字符串的长度,即字符个数
提示
len() 还适用于其他序列类数据结构,如字节、元组、列表或范围、集合。
而对于整数等单数值数字类型则无法使用 len() 函数。
count(subStr)
统计字符串中特定(子集)字符(串)的数量。统计的是子字符串出现次数给定的
my_string = "sebastian thrun"
>>> my_string.count('a')
2
find()
返回字符串中第一个匹配的字符的索引值。若未找到字符串则返回 -1
my_string = "sebastian thrun"
>>> my_string.find('a')
3
注意
字符串的索引值是从 0 开始
大小写
upper()
str.upper() 把所有字符中的小写字母转换成大写字母
lower()
str.lower() 把所有字符中的大写字母转换成小写字母
capitalize()
str.capitalize() 把第一个字母转化为大写字母,其余小写
title()
str.title() 把每个单词的第一个字母转化为大写,其余小写
split 方法
方法 split(key) 按照给定的字符 key 对原字符串进行分隔/拆分,并返回一个字符串列表
# 以空格拆分字符串
>>> string = "I need a banana split!"
>>> string.split(" ")
["I", "need", "a", "banana", "split!"]
F 字符串 f-string
参考
f-string(formatted string literals)称为格式化字符串常量。
格式化字符串是指通过将一个或多个占位符(一般由一对花括号 {} 定义)放入字符串,并使用方法在字符串外部指定填充这些占位符的内容。通过该方法可以灵活地创建字符串,如可以在字符串中插入文字。
提示
常用(旧)方法还有 %-formatting 语句 和 str.format() 函数。
F 字符串是一个在开头有 f 标记的字符串,以及用花括号包含表达式(最终输出结果会将用表达式的值进行替换)。
与具有恒定值的其它字符串常量不同,格式化字符串实际上是通过运行时运算求值的表达式。f-string 的大括号 {} 可以填入表达式或调用函数,Python 会求出其结果并填入返回的字符串内。
>>> name = 'Eric'
>>> f'Hello, my name is {name}'
'Hello, my name is Eric'
>>> f'A total number of {24 * 8 + 4}'
'A total number of 196'
>>> name = 'ERIC'
>>> f'My name is {name.lower()}'
'My name is eric'
转换
将数字转换为字符串使用 str() 函数
将字符串转换为数字则使用以下函数:
int()转换时采用向下取整,即将一个浮点数转换成整数时,小数点后的部分会被去除。float()
注意
使用 input() 函数获取的用户输入内容(即使输入的是数字)会默认转换为字符串形式