python学习,字符串的存储,切片访问

本文探讨了Python中字符串的存储机制,指出字符串在内存中的保留区,当多个变量引用同一字符串时,它们实际上共享同一地址。通过`id()`函数展示了变量的内存地址,并通过切片操作说明了字符串的访问方式。同时,`is`关键字用于比较对象的内存地址,验证了字符串变量间的关联性。

python中字符串的存储,切片访问,python中访问一个数据地址的方法

在python中字符串的存储在一个保留区,如果把该字符串赋值给另一个字符串,相当于把地址赋值给另一个变量。更改一个字符串,另一个也会更改。

#_*_cording.utf-8_*_
# 开发团队:开心科研
# 开发人员:Administrator
# 开发时间:2021/6/13 001317:32
# 文件名称:char_address
# 开发工具:PyCharm
"验证字符串的地址是否一致"
"在python中有一个字符串的保留区,里面放着字符串"
s1 ='hello'   #  此处相当于把hello的地址传给了s1
s2 = s1       # 此处相当于把s1内容——hello的地址转给了s2
s3 ='hello'   # 此处是在字符串保留区中找到hello的地址,传给s3   故此时s1,s2,s3的地址是一致的
s4='hello1'
print(id(s1))   # id 输出的是变量的地址
print(id(s2))
print(id(s3))
print(id(s4))

# is比较的是内存地址
print(s1 is s2)

# 切片机制,字符串和列表
# str[start:end:step]  start 表示起点,end表示终点,step的正负值表示方向,step表示移动步长
s='ABCDEFG'
print(s[1:4])    # 截取是需要注意,前面包括,后面不包含
print(s[:5])
print(s[-3:-1])
print(s[-3:7])
print(s[-3:])

print(id(s[-3:-1]))
print(id(s[-3:7]))
print(id(s[-3:]))
# id在python中访问的是地址
x =s[:]
print(id(x))
print(id(s))

输出:

2061848166272      # 地址可能和你电脑上不一样,不同电脑可能不一样
2061848166272
2061848166272
2061854219544

True
BCD
ABCDE
EF
EFG
EFG
2061854220216
2061854220216
2061854220216
2061854217192
2061854217192

is是地址比较,是对两个变量的地址是否一致。

id是返回变量在内存中的地址。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值