python字符串运算符
# 字符串
s1='abc'
s2="abc"
s3='''abc'''
s4='''
abc
'''
print(id(s1),id(s2),id(s3),id(s4))
# '''三引号占用的内存空间与单双引号的不同(前提:'''的内容不在一行上)
print(s1==s2) # 比较的时内容
print(s1 is s2) # 比较的是地址
print(s2==s3)
print(s2 is s3)
print(s2==s4)
print(s2 is s4)
print(s3==s4)
print(s3 is s4)
s5=input("请输入:") # 'abc'
s6=input("请输入:") # 'abc'
print(s5==s6) # True
print(s5 is s6) # False
# (常量赋值is时True, input输入底层做了处理所以最后的地址是不一样的)
2926079407024 2926079407024 2926079407024 2926089000816
True
True
True
True
False
False
False
False
请输入:abc
请输入:abc
True
False
# 字符串运算符
s1='abc'
s2='def'
s3=s1+s2
s4=s1*3
print(s3)
print(s4)
name='tomas'
result1='to' in name # 返回的是布尔类型
print(result1)
result2='to' not in name # 返回的是布尔类型
print(result2)
# 字符串格式化
print('%s说:大家好' %name)
print('%s说:%s' %(name,'大家好'))
# 有r不转义 没有r发生转义
print(r'%s说:\'你好\'' % name)
print('%s说:\'你好\'' % name)
# [] [:]
filename='picture.png'
print(filename[0:7])
# 字符串切片的索引规则
abcdef
abcabcabc
True
False
tomas说:大家好
tomas说:大家好
tomas说:\'你好\'
tomas说:'你好'
picture
# 倒序
str1='abcdefg'
print(str1[-1:-8:-1])
print(str1[::-1])
'''
str[start:end:方向和步长]
方向: 1 表示从左到右
-1表示从右到左
注意数值的顺序
比如:
正向:5:0 不可以
反向:5:0 可以
'''
# 练习:hello world
'''
逆序输出world:--->dlrow
正向输出hello
逆序输出整个hello world
打印获取oll
打印llo wo
'''
print()
str2='hello world'
print(str2[-1:-6:-1])
print(str2[0:5])
print(str2[::-1])
print(str2[4:1:-1])
print(str2[2:8])
gfedcba
gfedcba
dlrow
hello
dlrow olleh
oll
llo wo