代码改变世界

python--字符串

2021-02-08 12:12  冰沫baby  阅读(74)  评论(0编辑  收藏  举报

字符串取值:
字符串名[索引值]
正序:索引从0开始
反序:索引从-1开始


切片:

定义:字符串取多个值
格式:字符串名[索引头:索引尾:步长],索引头默认为0,步长默认为1

s='hello!'
print(s[1:5:1]) # 1 2 3 4 5 取头不取尾(不取5)
print(s[1:5:2]) # 1 3 5 取头不取尾(不取5)
# 取所有
print(s[:])
# 取到4为止 不包括4
print(s[:4])
# 取3到最后的值
print(s[3:])

小题目:利用切片,倒序输出s的值 输出结果为!olleh

s='hello!'
print(s[-1:-7:-1])
备注:因为默认步长为1,但从后面开始取值,步长就为-1

 

 

 



print(s[::-1])

 

 

 

 

line = "abcde" line[:-1] # 结果为:"abcd" line = "abcde" line[::-1] # 结果为:"edcba" # line[:-1]其实就是去除了这行文本的最后一个字符(换行符)后剩下的部分。 # line[::-1]其实就是反转字符串。



扩展:

print(s[:-1]) # 从第一个元素切到最后欧一个元素 但不包含最后一个元素 等价于 s[0:len(s)-1],除了最后一个元素的切片

print(s[0:len(s)-1])

print(len(s))

# 字符串的分割

split(可以指定切割符号,切割次数),不指定切割次数,会将含有的要切割的字符串切割掉
# 返回一个列表类型的数据,列表里面的子元素都是字符串类型
# 指定的切割符,被切走了
# print(s.split())
s=' hello!'
print(s.split(' '))
print(s.split('l',1))
print(s.split('l',2))

字符串的替换
replace(指定替换值,新值,替换次数)
s=' hello'
new=s.replace('l','@',1)
new1=s.replace('l','@',2)
print(new)
print(new1)

replace、strip 必须要用一个变量接收起来

字符串的去除指定字符
字符串.strip(指定字符串)
1:默认去掉空格
2:只能去掉的指定字符
s=' 666hello666'
print(len(s))
new=s.strip()
因为前面有空格,所以不会去掉前面的666
new=s.strip('6')
print(new)
print(len(new))

字符串的拼接: (符号:+ )
保证+左右两边的变量值类型要一致
s_1='python,'
s_2='新年快乐'
s_3=888
str(数字)--可以强制转换为str类型、bool类型、int类型
print(s_1+s_2+str(s_3))

字符串格式化输出
age=20
name='amgel'
score=99.99

print('我是:'+name+'今年:'+str(age)+'岁')
print('我是:'+name+'今年:',age,'岁')

# 格式化输出1:

format 特点:用{}来占坑 {}里面的数字 跟索引值一样 从0开始 数值为多少就看里面的变量有多少个 有两个的话 值就分别为0 1
print('我的名字是{0},今年{1}岁'.format(name,age))
print('我的名字是{0},今年{1}岁'.format(age,name))

# 格式化输出2:

% %s 字符串 %d 数字 %f 浮点数
# %s 可以填任何数据
# %d 只能填数字 整数 浮点数
# %f 可以填数字
print('我的名字是%s,今年%d岁'%(name,age))
print('我的名字是%s,今年%d岁,考试考了%s'%(name,age,score))
# 保留小数点的位数 .1f 保留一个小数点 .2f 保留2个小数点
print('我的名字是%s,今年%d岁,考试考了%.1f'%(name,age,score))