python中的字符串存储及切片介绍

本文原创,版权属作者个人所有,如需转载请联系作者本人。Q&微:155122733

--------------------------------------------------------------------------------------------------------

代码如下:

#!/usr/bin/python
a = 100
print(type(a))

str = "abc"
print(type(str))
print(str[0]) # display a 取字符串第0个字符
print(str[1]) # display b 取字符串第1个字符
print(str[2]) #display c 取字符串第2个字符
#print(str[3]) #error :overflow 超出边界,发生溢出
print(str[0:2]) # display ab 切片语法【起始:结束】包含起始的下标,不包含结束的下标,相当于半闭半开区间
print(str[0:4:2]) #display ac 切片语法【起始:结束:步长】
print(str[-1]) # display c 从末尾处取
print(str[-1:-3]) # display 空格 因为起始位置超过了结束位置
print(str[-1:-4:-1]) #display cba 步长为-1 代表从末尾往起始取字符
print(str[::-1]) #display cba 逆序
print(str[::1]) #display abc

a变量为int类型,占用4个字节

str变量在平台中占用3个字节,分析如下(每个表格代表一个字节):

abc

而在内存中只能存储0 1 0 1的数字, 因此真正则是a b c各字母所对应的ASCII码(97 98 99)以二进制的方式存储的。

110000111000101100011

因python为高级语言,在实际当中我们无需研究它在底层具体如何存储。只知道字符串的每个字符占用一个字节就ok了。