python中提供了比较多的字符串运算符,接下来我会简单的列出一些,不如:== 、 is 、 in 、not in 、[ : ] 、 [ : : ] 、r 、 % 等等,话不多说,上代码!
'''
字符串
'''
s1 ='abc'
s2 ='abc'
s3 ='''
abc
'''
print(id(s1),id(s2),id(s3)) #三引号占用的内存空间与单、双引号的不同(前提:内容不在一行上的时候)
# == is
print(s1 == s2) #比较内容
print(s2 == s3) #比较地址
print(s2 is s3)
print(s1 is s2)
s1 =input('请输入:')
s1 =input('请输入:')
print(s1 == s2) #
print(s1 is s2) #常量赋值是True ,input()输入底层做了处理所以即使输入的字符串是一样的但是结果是False
# 字符串的运算符: + *
s3 = s1 + s2 #相当于拼接符
s4 = s1 * 5 #倍数
print(s3)
print(s4)
# in 在... 里面
name = 'steven'
result = 't' in name # 返回值是布尔类型 True False
print(result)
result1 = 'st' in name
print(result1)
result2 = 'tv' in name
print(result2)
result3 = 'tv' not in name
print(result3)
# % 字符串格式化
print('%s说:“%s”'%(name,'大家好好学习!'))
# r 保留原格式(不转译)
print(r'%s说:\'哈哈哈!\''%name)
# [] [start:end]
filename = 'pictuer.png'
#位置都从0开始,位置也会称作下标或者索引
print(filename[1]) # 通过[] 可以结合位置 获取字母 特点:只能获取一个字母
# range(1,10)--->[1:10]
print(filename[0:7]) # 包前不包后
print(filename[3:7]) # 截取字符串
# 省略
print(filename[3:]) # 只要省略后面,表示一直取到字符串的末尾
print(filename[:7]) # 只要省略前面,表示从0开始取值
# 负数
# [::]
# strl ='abcdefg'
print('+'+filename[::-1])
strl ='abcdefg'
print(strl[-1:-5:-1]) #gfed
print(strl[0:5:-1])
print(strl[5:0:-1])
print('-'+strl[+10::-1])
print(strl[::-1])
'''
str[start:end:方向和步长]
方向:1--->表示从左到右
-1--->表示从右到左
注意数值顺序
比如:正向:5:0 就不行了
反向: 5:0 就可以取到值
'''
#练习 hello world
strl1 = 'hello world'
print(strl1[10:5:-1])
print(strl1[0:5])
print(strl1[::-1])
print(strl1[4:1:-1])
print(strl1[2:8]) #print(strl1[2:-3]
# 步长为2的取值
print(strl1[::2])
代码里面比较难以理解就是[ : ],这个可以表示一个范围,实现字符串中提取某个或某串字符,正序输出,逆序输出都可以,值得注意的是,每个标号不管是正序还是逆序都是不变的,都是包前不包后,来一个理解图:
大家有不理解的可以和我私信交流哦!