python中字符串的运算符

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])

代码里面比较难以理解就是[ : ],这个可以表示一个范围,实现字符串中提取某个或某串字符,正序输出,逆序输出都可以,值得注意的是,每个标号不管是正序还是逆序都是不变的,都是包前不包后,来一个理解图:
在这里插入图片描述
大家有不理解的可以和我私信交流哦!

猜你喜欢

转载自blog.csdn.net/qq_45381011/article/details/107597927
今日推荐