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