字符串、字节、列表与元组
一、字符串特点及重点
字符串是 Python 中最常用的数据类型之一,使用单引号或双引号来创建字符串,使用三引号创建多行字符串
注意一:字符串的单引号与双引号都是 成对 出现的,不能一边单一边双。
注意二:字符串本身是不可变的序列数据类型,不能直接修改字符串本身。
字符串中的每个元素都可以可以通过下标取出来。下标也可称为索引,默认从0开始。
字符串可以进行切片操作:
slice(start, stop[, step])
start:起始位置,默认为0
stop:结束位置,默认最后一个元素
可选参数:步长,默认为1
切片模式:
a[start:stop:step]
注意:转换为整数都要为十进制,而不能为符号,而且字符串转换整数,如果字符串形如str=‘1.0’,则整数转换无法识别其中符号’ . ’
整数转换字符串使用函数为str,以此来转换字符串。
字符串用+做拼接,如’1’+‘2’–>‘12’,拼接出来的数据类型仍是字符串而非整数类型
在字符串输出操作中,可以使用以下三种方式进行字符串格式化:
1、%s %d %f
name = "hansen"
age = 20
# %号格式需要考虑数据类型,比较麻烦
# %s --> str字符串
# %d --> decimal数值
# %f --> float
print("%s年龄为%d" % (name, age))
2、str.format()
# str.format(),好处为1、不用考虑数据类型 2、可以切换位置
# {} --> 占坑
print("{}年龄为{}".format(name, age))
print("{1}年龄为{0}".format(age, name)) # 可切换顺序,但在{}中需添加序列标注
3、python3.6.4 引入 f’’,如果版本在3.6.4以下则没有f’'格式化命令
# f'' python3.6.4以上版本
# {} --> 占坑
print(f"{name}年龄为{age}")
字符串常见操作
1、S.find(sub) --> 返回该元素最小的索引
s1 = "hello python"
print(s1.find('e')) # 1,返回最小索引
print(s1.find('o')) # 4,因为最小
print(s1.find('a')) # -1,s1中没有"a"时,会报错吗?不会报错,返回-1
print(s1.rfind('o')) # 10,从右边开始找寻字母
2、S.index(sub) --> 返回该元素最小的索引
print(s1.index('e'))
print(s1.index('a')) # index与find作用一模一样,但区别在于,当通过S.index查询不存在的字串时,会报错,而S.find()返回-1
3、S.replace(old, new[, count]) --> 替换
s2 = "hello oldoldAmy"
# old --> beautiful
print(s2.replace("old", "beautiful")) # 默认:全部替换
print(s2.replace("old", "beautiful", 1