字符串中的元素
字符串的单个字母,数字,汉字,符号 都可以被称为一个元素
# 请问变量a中共有几个元素?
a = 'hello!'
字符串的长度如何获得?
len(字符串变量名)
# 输出字符串的长度
print(len(a))
字符串中的单个元素如何获得?
想要获得字符串中的单个元素,必须引入一个概念:索引
索引:字符串中的元素,从左到右,从零开始的编号(正序)
字符串中的元素,从右到左,从-1开始的编号(反序)
a = 'hello'
h e l l o
0 1 2 3 4(正序)
-5 -4 -3 -2 -1(反序)
使用方法
字符串名[索引值]
print(a[4])
print(a[-1])
控制台:
o
o
字符串如何取多个值
切片
使用方法:
字符串变量名[索引头:索引尾:步长] 步长默认为1(取头不取尾)
# 步长默认为1
print(a[0:4:1])
print(a[0:4])
print(a[2:4:2]) # 只取索引为2的元素
print(a[:4]) # 取索引为 0 1 2 3的元素
print(a[3:]) # 取索引为 3 4的元素
控制台:
hell
hell
l
hell
lo
字符串如何倒序输出?
print(a[::-1])
字符串如何分割?
字符串变量名.split('切割符号',切割次数)
print(a.split())
print(type(a.split()))
控制台:
['hello']
<class 'list'>
返回的类型为列表
列表
- 类型:list
- 符号:[]
a = [1, 1.234, 'str', [1, 2, 3]]
b = []
- 可以存在空列表
- 列表中可以包含任何数据类型
- 列表中的元素用逗号分开
字符串切割演示:
a = ' hello'
print(a.split(' '))
print(a.split('l',1))
print(a.split('l',2))
控制台:
['', 'hello']
[' he', 'lo']
[' he', '', 'o']
- 字符串切割之后,返回一个列表类型的数据,列表里的子元素都是字符串
- 制定的切割符号被切掉
字符串如何替换元素?
字符串变量名.replace('被替换的元素','替换成的元素',替换次数)
a = 'hello'
b = a.replace('h', 'H', 1)
c = a.replace('l', 'L', 2)
print(b)
print(c)
Hello
heLLo
字符串如何去除指定字符?
字符串变量名.strip(' 元素')
a = ' helloo'
newa = a.strip()
newa_2 = a.strip('e')
newa_3 = a.strip('o')
print(newa)
print(newa_2)
print(newa_3)
控制台
helloo
helloo
hell
- 默认去掉空格
- 只能去掉头和尾的字符
字符串如何拼接?
字符串a变量名+字符串b变量名
a = 'Hello'
b = 'Python'
c = ' !'
print(a+b+c)
HelloPython !
字符串如何格式化输出?
方式一:
'{0}'.format(a) 用{}来占坑
name = '小刘'
age = 24
word = '大家好我叫{0},今年{1}岁了!'.format(name,age)
print(word)
控制台
大家好我叫小刘,今年24岁了!
方式二:
使用占位符
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
name = '小云'
score = 99.99
word = '%s同学在这次考试中取得了%f的好成绩!'
word_2 = '%s同学在这次考试中取得了%.1f的好成绩!'
word_3 = '%s同学在这次考试中取得了%.2f的好成绩!'
word_4 = '%s同学在这次考试中取得了%d的好成绩!'
print(word % (name, score))
print(word_2 % (name, score))
print(word_3 % (name, score))
print(word_4 % (name, score))
控制台
小云同学在这次考试中取得了99.990000的好成绩!
小云同学在这次考试中取得了100.0的好成绩!
小云同学在这次考试中取得了99.99的好成绩!
小云同学在这次考试中取得了99的好成绩!
- 浮点数占位符可以修改精确位数,默认小数点后6位
- 精确位数后面还有值的话,会四舍五入
- 使用整数占位符会截断浮点型的数据