s1 = 'abc'
s2 = 'abc'
s3 = '''
abc
'''
print(id(s1),id(s2),id(s3)) #2478942337936 2478942337936 2478943295168

print(id(s1),id(s2),id(s3)) # '''三引号占用的内存空间有单双引号不同,因为三引号要保留格式(前提:'''的内容不在一行上)
print(s1 == s2) #比较的是内容 true
print(s1 is s2) #比较的是地址 true
print(s2 == s3) #false
print(s2 is s3) #false
s1 = input('请输入:') #'abc'
s2 = input('请输入:') #'abc'
print(s1 == s2) #true
print(s1 is s2) #false(input内置函数进行了处理,地址不一样了)

#常量赋值is是true,input输入底层做了处理,最后的地址是不一样的
本文探讨了Python中字符串s1='abc'、s2='abc'和s3='abc
'的内存地址(id)和内容比较(s==)的差异,以及input()获取用户输入后的变化,并通过实例解析了字符串常量与动态输入在内存上的区别。
2520

被折叠的 条评论
为什么被折叠?



