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

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是返回变量在内存中的地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值