本文原创,版权属作者个人所有,如需转载请联系作者本人。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个字节,分析如下(每个表格代表一个字节):
a | b | c |
而在内存中只能存储0 1 0 1的数字, 因此真正则是a b c各字母所对应的ASCII码(97 98 99)以二进制的方式存储的。
1100001 | 1100010 | 1100011 |
因python为高级语言,在实际当中我们无需研究它在底层具体如何存储。只知道字符串的每个字符占用一个字节就ok了。