马士兵Python学习笔记_P76_75.字符串的创建与驻留机制

马士兵Python学习笔记_P76_75.字符串的创建与驻留机制

一、字符串的驻留机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、代码示例

# 不可变序列:字符串、元组
# 可变序列:列表、字典、集合
# 可迭代对象:

# 字符串的驻留机制
str1 = 'Python'
str2 = "Python"
str3 = '''Python'''
print(str1, type(str1), id(str1))
print(str2, type(str2), id(str2))
print(str3, type(str3), id(str3))

s1 = ""
s2 = ""
print(s1, type(s1), id(s1))
print(s2, type(s2), id(s2))
print(s1 is s2)

s1 = '%'
s2 = '%'
print(s1, type(s1), id(s1))
print(s2, type(s2), id(s2))
print(s1 is s2)

s1 = 'abc%'
s2 = 'abc%'
print(s1, type(s1), id(s1))
print(s2, type(s2), id(s2))
print(s1 is s2)
print(s1 == s2)

s1 = 'abcx'
s2 = 'abcx'
print(s1, type(s1), id(s1))
print(s2, type(s2), id(s2))
print(s1 is s2)
print(s1 == s2)

a = "abc"
b = "ab" + "c"
c = "".join(["ab", "c"])
print(a, type(a), id(a))
print(b, type(b), id(b))
print(c, type(c), id(c))
print(a is b, a == b)
print(a is c, a == c)

a = -5
b = -5
print(a, type(a), id(a))
print(b, type(b), id(b))
print(a is b, a == b)

a = -6
b = -6
print(a, type(a), id(a))
print(b, type(b), id(b))
print(a is b, a == b)

import sys
a = "abc%"
b = "abc%"
print(a, type(a), id(a))
print(b, type(b), id(b))
print(a is b, a == b)

a = sys.intern(b)
print(a, type(a), id(a))
print(b, type(b), id(b))
print(a is b, a == b)

运行结果:

D:\Environment\Python\Python311\python.exe D:\Environment\PythonWorks\learnpython\马士兵Python\第9章_一串连一串\P76_75.字符串的创建与驻留机制.py 
Python <class 'str'> 140713761609808
Python <class 'str'> 140713761609808
Python <class 'str'> 140713761609808
 <class 'str'> 140713763030752
 <class 'str'> 140713763030752
True
% <class 'str'> 140713763052000
% <class 'str'> 140713763052000
True
abc% <class 'str'> 2312191110704
abc% <class 'str'> 2312191110704
True
True
abcx <class 'str'> 2312191111664
abcx <class 'str'> 2312191111664
True
True
abc <class 'str'> 140713761644096
abc <class 'str'> 140713761644096
abc <class 'str'> 2312191112368
True True
False True
-5 <class 'int'> 140713763009128
-5 <class 'int'> 140713763009128
True True
-6 <class 'int'> 2312189295952
-6 <class 'int'> 2312189295952
True True
abc% <class 'str'> 2312191110704
abc% <class 'str'> 2312191110704
True True
abc% <class 'str'> 2312191110704
abc% <class 'str'> 2312191110704
True True

Process finished with exit code 0

B站视频链接:https://www.bilibili.com/video/BV1wD4y1o7AS?p=76

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值